请原谅我找不到更好的头衔。
说我有两个清单:
list1 = ["123", "123", "123", "456"]
list2 = ["0123", "a123", "1234", "null"]
描述映射(请参见this question)。我想从这些列表中创建一个
dict
,知道list1
包含键和list2
值。在这种情况下,dict
应该是:dict1 = {"123":("0123", "a123", "1234"), "456":("null",)}
因为
list1
通知我们"123"
与三个值相关联。如何以编程方式生成此类词典?
最佳答案
defaultdict()
是您的朋友:
>>> from collections import defaultdict
>>> result = defaultdict(tuple)
>>> for key, value in zip(list1, list2):
... result[key] += (value,)
...
这会产生元组;如果列表很好,请使用乔恩·克莱门特(Jon Clement)对相同技术的变体。
关于python - Python:从列表中,使用键:值比不为1:1来构建字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11659398/