我想用另一个有固定键的听写器做一个听写器
dic1 = {'filename':'file1','namelen':'5'}
dic2 = {
"file1":dic1,
"file2":dic2,
...
...
}
我的代码的问题是添加一个新的听写器会覆盖所有现有的内部听写器
dic1 ={}
dic2 ={}
file_list = ["file1","file2", "file3"]
for file in file_list:
dic1["filename"] = file
dic1["namelen"] = len(file)
dic2[file] = dic1
print(dic2)
我的口述是这样的
dic2 =
{
'file1': {'namelen': 5, 'filename': 'file3'},
'file3': {'namelen': 5, 'filename': 'file3'},
'file2': {'namelen': 5, 'filename': 'file3'}
}
如何在不切换到列表的情况下防止覆盖
添加字典的副本,而不是字典本身
这一行:
更改:
您可以在for中使用一行python代码来实现您的结果
输出
试着这样做:
每次迭代都尝试在循环中创建一个新的
dict1={}
否则,如果在循环之外执行,它将一次又一次地引用同一个字典
相关问题 更多 >
编程相关推荐