【发布时间】:2021-04-23 01:03:26
【问题描述】:
我有一个嵌套字典,当我增加它每次分配引用的值时。
sample_dict = {0:{'item': None},
1:{'item': None}}
value = 1
for i in range(len(sample_dict)):
sample_dict[i]['item'] = value
value += 1
输出显示值 2 不是 1 而是 2。它使用对值的引用。我该如何阻止它?
sample_dict = {0:{'item': 2},
1:{'item': 2}}
【问题讨论】:
-
它在我的机器上运行良好。它产生预期的输出。
-
澄清一下,它在我的机器上也能正常工作,但我需要添加缺少的
}。 -
请发布显示
sample_dict是如何初始化的实际代码。sample_dict很可能是用一个循环初始化的,该循环不断重复使用相同的子字典,这与问题中包含的字典文字不同。 -
你是在
d = {'item': None}后面跟着sample_dict = {0: d, 1: d}吗?
标签: python loops dictionary reference