当我使用dict和zip将列表映射到字典时不一致 - Python

Lou*_*s93 0 python dictionary list

我尝试了这个例子并且工作正常:将两个列表映射到Python中的字典中

但如果我用这个列表替换"键":['2','3','2','3','4','2','4','2','2','3 ','2','3','4']

和此列表中的"值":[2,3,4,5,6,4,2,1,1,2,3,4,5]

dict类试图单独制作"价值"部分的字典!

输出:{'3':4,'2':3,'4':5}

你自己尝试一下,你应该得到相同的答案.为什么和替代这将是伟大的.

Ros*_*son 7

您的密钥列表具有重复值,因此会覆盖早期重复密钥中的值.

>>> keys = ['2', '3', '2-1', '3-1', '4', '2-2', '4-1', '2-3', '2-4', '3-2', '2-5', '3-3', '4-2']
>>> values = [2, 3, 4, 5, 6, 4, 2, 1, 1, 2, 3, 4, 5]
>>> dict(zip(keys, values))
{'2-2': 4, '4-1': 2, '4-2': 5, '2-1': 4, '2-4': 1, '2-3': 1, '2-5': 3, '3-3': 4, '3-2': 2, '3-1': 5, '3': 3, '2': 2, '4': 6}
Run Code Online (Sandbox Code Playgroud)

此外,您可以使用字典的整数键,所以没有必要'2',你可以使用2.