【问题标题】:How do I increment a value in a python dictionary? [closed]如何在 python 字典中增加一个值? [关闭]
【发布时间】: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


【解决方案1】:

我尝试正确运行它。

    sample_dict = {
                0:{'item': None},
                1:{'item': None}
              }
 
value = 1

length = len(sample_dict)
for i in range(0, length):
     sample_dict[i]['item'] = value
     value += 1
     
print(sample_dict)

输出:

{0: {'item': 1}, 1: {'item': 2}}

【讨论】:

    【解决方案2】:

    像这样简单的东西应该可以工作。

    count = 0
    for i in range(len(sample_dict)):
        sample_dict[count]['item'] = count +1
        count +=1
    

    输出

    {0: {'item': 1}, 1: {'item': 2}}
    

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 2010-12-14
      • 2021-11-10
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      • 2014-01-02
      相关资源
      最近更新 更多