我遇到的问题很难解释,很容易理解:
我有一个元组列表:
L=[('a','111'),('b','222'),('a','333'),('b','444')]
我想从这个列表中创建一个字典,其中键是元组的第一个元素(“a”和“b”),关联的值在列表中:
预期输出:
{'a':['111','333'],'b':['222','444']}
我该如何解决这个问题?
d={}
for x in range (len(L)):
d[L[x][0]]=[L[x][1]]
return d
但是正如您容易理解的那样,输出将不完整,因为列表将仅显示与 L 中该键关联的最后一个值
最佳答案
您可以使用 setdefault()
第一次在字典中设置键。然后附加您的值:
L=[('a','111'),('b','222'),('a','333'),('b','444')]
d = {}
for key, value in L:
d.setdefault(key, []).append(value)
print(d)
# {'a': ['111', '333'], 'b': ['222', '444']}
关于Python:创建一个字典,其中的键有多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60010833/