我可以将两个列表添加到字典中,如下所示 -
list1 = [1,2,3,4]
list2 = ['a','b','c','d']
dct = dict(zip(list1, list2))
print(dct)
结果,
{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
但是重复如下,
list3 = [1,2,3,3,4,4]
list4 = ['a','b','c','d','e','f']
dct_ = dict(zip(list1, list2))
print(dct)
我明白了
{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
我应该怎么做才能将列表中的重复项视为生成字典中的单个键?
我期待如下结果 -
{1: 'a', 2: 'b', 3: 'c', 3: 'd', 4: 'e', 4: 'f'}
2 回答
相反,您可以使用值列表创建字典:
您不能在字典中使用重复的键 . 但是,您可以将多个值(列表)映射到每个键 .
一个简单的方法是使用dict.setdefault():
另一种选择是使用collections.defaultdict(),如@ YOLO的answer所示 .