如何创建一个字典,其中每个键包含 2 个列表中的多个值?
例如,我有:
>>> list1 = ['fruit', 'fruit', 'vegetable']
>>> list2 = ['apple', 'banana', 'carrot']
而且,我想要一些效果:
>>> dictionary = {'fruit': ['apple', 'banana'], 'vegetable': ['carrot']}
到目前为止我已经尝试过以下操作:
>>> keys = list1
>>> values = list2
>>> dictionary = dict(zip(keys, values))
>>> dictionary
{'fruit': 'banana', 'vegetable': 'carrot'}
您可以使用dict.setdefault
和一个简单的 for 循环:
>>> list1 = ["fruit", "fruit", "vegetable"]
>>> list2 = ["apple", "banana", "carrot"]
>>> dct = {}
>>> for i, j in zip(list1, list2):
... dct.setdefault(i, []).append(j)
...
>>> dct
{'fruit': ['apple', 'banana'], 'vegetable': ['carrot']}
来自docs https://docs.python.org/3/library/stdtypes.html#dict.setdefault:
setdefault(key[, default])
If key
在字典中,返回它的值。如果没有,请插入key
值为default
并返回default
. default
默认为None
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)