在蟒蛇3.5.1如何在for循环中创建新字典?
og_dict = {'name':'user1', 'salary':'1k'}
og_dict_list =[]
for i in range(2,5):
og_dict['salary'] = str(i)+'k'
og_dict_list.append(og_dict)
for og_dict_obj in og_dict_list:
print(og_dict_obj)
以上代码生成以下的输出:
{'name': 'user1', 'salary': '4k'}
{'name': 'user1', 'salary': '4k'}
{'name': 'user1', 'salary': '4k'}
但我期待下面的输出:
{'name': 'user1', 'salary': '2k'}
{'name': 'user1', 'salary': '3k'}
{'name': 'user1', 'salary': '4k'}
Apparantely蟒蛇仅修改现有的字典和不不创建一个新的。我能做些什么来解决这个问题?
是否存在一种方法来创建一个新的字典对象从现有的? 有没有更适合这个的其他收藏?
此外,你应该打印'og_dict_obj',而不是'og_dict' –
@PrashantSethi哦是的。我从OP复制和粘贴。还增加了一个关于这个的注释(尽管我希望这只是OP代码中的一个错字,当他在这里写的时)。 – Bakuriu
是og_dict而不是og_dict_obj是一个错字。感谢你的回答。 出于某种原因,我无法使用第二种解决方案。 –