【发布时间】:2014-01-02 08:50:00
【问题描述】:
我想将多个值添加到 python 字典中的特定键。我该怎么做?
a = {}
a["abc"] = 1
a["abc"] = 2
这会将 a["abc"] 的值从 1 替换为 2。
我想要的是 a["abc"] 有多个值(1 和 2)。
【问题讨论】:
标签: python dictionary key
我想将多个值添加到 python 字典中的特定键。我该怎么做?
a = {}
a["abc"] = 1
a["abc"] = 2
这会将 a["abc"] 的值从 1 替换为 2。
我想要的是 a["abc"] 有多个值(1 和 2)。
【问题讨论】:
标签: python dictionary key
将值设为列表,例如
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() 方法,并做一些实验来熟悉它。
【讨论】:
怎么样
a["abc"] = [1, 2]
这将导致:
>>> a
{'abc': [1, 2]}
这就是你要找的吗?
【讨论】:
{"abc": 1, 2} 因为 dict 是一个键:值对,每个键只有一个值。