В питон 3.5.1как создать новый словарь для цикла?
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 был опечаткой. Спасибо за ответ. По какой-то причине я не могу использовать второе решение .. –