如何在python中向字典键添加多个值?

Pyt*_*ast 68 python dictionary key

我想为特定键添加多个值.我怎样才能做到这一点?

a = {}
a["abc"] = 1
a["abc"] = 2
Run Code Online (Sandbox Code Playgroud)

Jam*_*olk 125

将值设为列表,例如

a["abc"] = [1, 2, "bob"]
Run Code Online (Sandbox Code Playgroud)

更新:

有几种方法可以为key添加值,并创建一个列表(如果尚未存在).我会在几步之内展示一种这样的方法.

key = "somekey"
a.setdefault(key, [])
a[key].append(1)
Run Code Online (Sandbox Code Playgroud)

结果:

>>> a
{'somekey': [1]}
Run Code Online (Sandbox Code Playgroud)

接下来,尝试:

key = "somekey"
a.setdefault(key, [])
a[key].append(2)
Run Code Online (Sandbox Code Playgroud)

结果:

>>> a
{'somekey': [1, 2]}
Run Code Online (Sandbox Code Playgroud)

其神奇之处setdefault在于,如果未定义该键,则初始化该键的值,否则它不执行任何操作.现在,注意到setdefault返回键,您可以将它们组合成一行:

a.setdefault("somekey",[]).append("bob")
Run Code Online (Sandbox Code Playgroud)

结果:

>>> a
{'somekey': [1, 2, 'bob']}
Run Code Online (Sandbox Code Playgroud)

您应该查看dict方法,特别是get()方法,并做一些实验以适应这一点.

  • 看一下发布的时间 - 我们都在同一时间给出了相同的答案,直到第二个:) (7认同)
  • 不,不是这样的. (3认同)
  • 谢谢,真的很喜欢 a.setdefault("somekey",[]).append("bob") (2认同)

Mat*_*DMo 19

怎么样

a["abc"] = [1, 2]
Run Code Online (Sandbox Code Playgroud)

这将导致:

>>> a
{'abc': [1, 2]}
Run Code Online (Sandbox Code Playgroud)

那是你在找什么?

  • @ user1162512如果你想为某个键拥有多个值,那么你需要使用一个列表或一些其他容器来表示多个值(另一个dict,一个元组等).你不能做`{"abc":1,2}`因为dict是一个键:值对,每个键只有一个值. (2认同)
  • 我们是蟒蛇双胞胎:) (2认同)