我有一个2-D [2xn]
数组,第一列中有键(重复),第二列中有值。我需要创建一个字典,其中键是唯一的,并且从值中收集值。
最聪明的方法是什么?我应该首先预处理(对组中的键值或其他值进行排序)还是应该将set(keys)
放入字典键然后使用值进行操作?或者我应该将keys
和values
列表放在字典中并以某种方式“挤压”它?
输入:
[
[Isis, 3],
[Isis, 4],
[Al-Qaeda, 2],
[Isis, 2]
]
期望的输出:
{'Isis':[3,4,2], 'Al-Qaeda':[2]}
答案 0 :(得分:2)
使用defaultdict
:
from collections import defaultdict
output = defaultdict(list)
for k,v in input:
output[k].append(v)
答案 1 :(得分:0)
output = {}
for i in input:
key = i[0]
value = i[1]
if not key in output:
output[key] = []
output[key].append(value)