请原谅我找不到更好的头衔。

说我有两个清单:

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/

10-12 23:24