这是我的代码:
l = [['A',11],['A',12],['B',13],['B',14],['C',15],['C',16],]
d = {}
>>> for a in l:
... if a[0] in d:
... s = d[a[0]]
... s.append(a[1])
... d[a[0]] = s
... else:
... d[a[0]] = [a[1]]
...
我按预期得到了我的字典。
print (d)
{'A': [11, 12], 'B': [13, 14], 'C': [15, 16]}
有更简单的方法吗?关键是如果密钥重复,则在列表列表中创建第二个元素的列表。
答案 0 :(得分:4)
使用defaultdict
:
from collections import defaultdict
d = defaultdict(list)
for k, v in l:
d[k].append(v)