您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:字典列表在每次迭代中仅存储最后附加的值

Python:字典列表在每次迭代中仅存储最后附加的值

让我们逐步回顾一下循环主体的逻辑:

因此,您错过的关键点是您修改并附加了第一步中选择的对象。并且在代码片段的末尾word_db2包含六个对象引用,但只有两个唯一。结果,输出显示相似的行。

您可以在修改和附加字典之前对其进行 :

for j in range(1, 4):
    i = dict(i)
    i['Card Type'] = 'Type '+str(j)
    i['Card Key'] = key
    print(i)

    word_db2.append(i)
    key += 1

进一步说明,如果dict包含其他可变对象(例如嵌套dict),则应进行 :

import copy
old_dict = {'a': [1, 2, 3], 'b': [4, 5, 6]}
new_dict = copy.deepcopy(old_dict)
old_dict['a'][1] = 7
new_dict['a'][1] # 2
python 2022/1/1 18:52:44 有325人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶