如何将多个值添加到python中的字典键? [关闭]
Posted
技术标签:
【中文标题】如何将多个值添加到python中的字典键? [关闭]【英文标题】:How to add multiple values to a dictionary key in python? [closed] 【发布时间】:2014-01-02 08:50:00 【问题描述】:我想将多个值添加到 python 字典中的特定键。我该怎么做?
a =
a["abc"] = 1
a["abc"] = 2
这会将 a["abc"] 的值从 1 替换为 2。
我想要的是 a["abc"] 有多个值(1 和 2)。
【问题讨论】:
【参考方案1】:将值设为列表,例如
a["abc"] = [1, 2, "bob"]
更新:
有几种方法可以为键添加值,如果还没有列表,则可以创建一个列表。我将逐步展示一种这样的方法。
key = "somekey"
a.setdefault(key, [])
a[key].append(1)
结果:
>>> a
'somekey': [1]
接下来,试试:
key = "somekey"
a.setdefault(key, [])
a[key].append(2)
结果:
>>> a
'somekey': [1, 2]
setdefault
的神奇之处在于它会初始化该键的值如果该键未定义,否则它什么也不做。现在,请注意 setdefault
返回键,您可以将它们组合成一行:
a.setdefault("somekey",[]).append("bob")
结果:
>>> a
'somekey': [1, 2, 'bob']
您应该查看dict
方法,尤其是get()
方法,并做一些实验来熟悉它。
【讨论】:
看看发布的时间 - 我们都在完全相同的时间给出了相同的答案,直到第二个:) 我要一个一个添加。 就像我为函数提供键和值一样。如果 key 已经存在,那么它应该将新值附加到 key。 你可以检查 type(a["abc"]) == list.如果没有,则创建一个新列表,将该项目作为该列表中的第一个元素。 谢谢,真的很喜欢 a.setdefault("somekey",[]).append("bob")【参考方案2】:怎么样
a["abc"] = [1, 2]
这将导致:
>>> a
'abc': [1, 2]
这就是你要找的吗?
【讨论】:
我要一一添加。像 a["abc"] = 1 和 a["abc"]="def" @user1162512 a["abc"].append("def") 如果我不想使用该列表怎么办。我还可以附加值吗?例如:我有一个 dict a["abc":1]。现在我想将“def”添加到“abc”键。我该怎么做? @user1162512 如果您想为某个键设置多个值,那么您需要使用列表或其他容器来存储多个值(另一个字典、元组等) .你不能这样做"abc": 1, 2
因为 dict 是一个键:值对,每个键只有一个值。
我们是双胞胎 :)以上是关于如何将多个值添加到python中的字典键? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
从python字典如何将键和值保存到* .txt文件[关闭]