Python:从列表中,使用关键:价值比率不是1:1

2024-09-30 08:20:00 发布

您现在位置:Python中文网/ 问答频道 /正文

请原谅我找不到更好的书名。在

假设我有两个列表:

list1 = ["123", "123", "123", "456"]
list2 = ["0123", "a123", "1234", "null"]

它描述了一个映射(参见this question)。我想从这些列表中创建一个dict,知道list1包含键和list2值。本例中的dict应该是:

^{pr2}$

因为list1告诉我们,"123"与三个值关联。在

如何以编程方式生成这样的字典?在


Tags: 列表字典编程方式thisnulldictquestion
3条回答

^{}是你的朋友:

>>> from collections import defaultdict
>>> result = defaultdict(tuple)
>>> for key, value in zip(list1, list2):
...    result[key] += (value,)
...

这就产生了元组;如果列表很好,就使用Jon Clement的相同技术变体。在

>>> from collections import defaultdict
>>> list1 = ["123", "123", "123", "456"]
>>> list2 = ["0123", "a123", "1234", "null"]
>>> d = defaultdict(list)
>>> for i, key in enumerate(list1):
...     d[key].append(list2[i])
... 
>>> d
defaultdict(<type 'list'>, {'123': ['0123', 'a123', '1234'], '456': ['null']})
>>>
from collections import defaultdict

dd = defaultdict(list)
for key, val in zip(list1, list2):
    dd[key].append(val)

相关问题 更多 >

    热门问题