Python:创建一个字典,其中的键有多个值

标签 python python-3.x dictionary

我遇到的问题很难解释,很容易理解:

我有一个元组列表:

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/

相关文章:

python - 将列表合并到字典列表中

python - 如何在 tensorflow-r1.0 中裁剪 grad_and_var 元组的梯度范数?

python - PIL 和枕头。导入错误 : cannot import name '_imaging'

python-3.x - 双击不在html中的视觉元素使textarea显示selenium

python - 计数到无穷大的生成器

python - 栈帧和作用域之间有什么关系?

python - 如何在 matplotlib 中制作地毯图

python - 在 Google 云存储中使用带有签名 URL 的版本控制

python - 使用转换键的类似字典的类

Python - 使用包含键的列表从字符串中创建字典