Я новичок в Python (и в программировании).
Я бы хотел изменить словарь в цикле for, чередуя ключ словаря.Я написал следующий код, который был неудачным, однако:
#coding: utf-8
dict1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
dict2 = dict.fromkeys(dict1.values(),[])
for key in dict2:
if key == 'value1':
dict2[key].extend(['test1', 'test2'])
elif key == 'value2':
dict2[key].extend(['test3', 'test4'])
elif key == 'value3':
dict2[key].extend(['test5', 'test6'])
print (dict2['value1'])
print (dict2['value3'])
Я ожидал, что результаты будут:
['test5', 'test6']
['test1', 'test2']
, но на самом деле я получил:
['test5', 'test6', 'test3', 'test4', 'test1', 'test2']
['test5', 'test6', 'test3', 'test4', 'test1', 'test2']
Я полагаю, что проблема может быть связана с тем, что я сделал словарь из другого словаря с использованием «dict.fromkeys», но я не мог понять, почему это проблематично, даже если это так.
Спасибо за ваше внимание.Ждем ваших предложений.