2015-10-12 5 views
0

Допустим, у меня есть следующий список таких как [key,value, key,value, key,value] , и я хочу, чтобы превратить его в словарь, который выглядит как: {key:value, key:value, key:value}Python: Добавление в словарь с почтовым индексом

Я попытался

dict(zip(mydict[::2], mydict[1::2])) 

Однако исходные значения для одного из ключей продолжают перезаписываться. Как я могу изменить это, чтобы он добавлялся к словарю, если ключ уже существует?

+0

Это не делает. Вы уверены, что повторных ключей нет? – darkryder

+0

Ох, там повторяются ключи, как я могу заставить их переписывать друг друга и просто добавлять? – AdminTech

ответ

1

Я не уверен, что тогда я недопонимаю. Вы не можете повторять ключи внутри словаря. Один будет перезаписывать другой.

[in] >>> d = dict([('x',3),('x',4)]) 
[in] >>> print(d) 
[out] >>> {'x': 4} 

Может быть, вы думаете о defaultdict

[in] >>> from collections import defaultdict 
[in] >>> d = defaultdict(list) 
[in] >>> for k,v in [('x',3),('x',4)]: 
     >>>  d[k].append(v) 
[in] >>> print(d) 
[out] >>> defaultdict(<class 'list'>, {'x': [3, 4]}) 
Смежные вопросы