我可以将两个列表转换成字典
>>> keys = ['a', 'b', 'c']
>>> values = [1, 2, 3]
>>> dictionary = dict(zip(keys, values))
>>> print dictionary
如何将其转换为具有键但值为列表的字典。
keys = ['a', 'b', 'c' ,'a']
values=[1, 2, 3, 4]
输出:
{'a': [1,4], 'c': [3], 'b': [2]}
我在依赖解析器中使用它来为文本中的名词获取相应的形容词。 请注意,我必须对大文本执行此操作,因此效率很重要。
请同时说明方法的计算时间。
请您参考如下方法:
我会简单地遍历键/值对并使用 setdefault 将它们添加到字典中:
>>> keys = ['a', 'b', 'c' ,'a']
>>> values=[1, 2, 3, 4]
>>> d = {}
>>> for k,v in zip(keys, values):
... d.setdefault(k, []).append(v)
...
>>> d
{'c': [3], 'b': [2], 'a': [1, 4]}
