如何将多个值添加到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中的字典键? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将文本输入值添加到kivy python中字典中的值?

python如何创建字典? [关闭]

从python字典如何将键和值保存到* .txt文件[关闭]

如何以编程方式将字符串和键添加到 iPhone 中的字典?

如何将字典中的多个值添加到 PySpark Dataframe

如何使用 Swift 将具有两个不同键的两个值存储到数组或字典中? [关闭]