Skip to main content
 首页 » 编程设计

python之将两个列表转换为值为列表的字典

2025年05月04日12jyk

我可以将两个列表转换成字典

>>> 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]}