我想在python词典中为特定键添加多个值。我怎么能这样做?
a = {}
a["abc"] = 1
a["abc"] = 2
这会将[“abc”]的值从1替换为2.
我想要的是[[abc“]有多个值(1和2)。
答案 0 :(得分:110)
将值设为列表,例如
a["abc"] = [1, 2, "bob"]
更新:
有几种方法可以为key添加值,并创建一个列表(如果尚未存在的话)。我将在几步之内展示一种这样的方法。
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()
方法,并进行一些实验以熟悉此方法。
答案 1 :(得分:16)
怎么样
a["abc"] = [1, 2]
这将导致:
>>> a
{'abc': [1, 2]}
那是你在找什么?