如何在python字典中为一个键设置多个值?

mou*_*nho 1 python dictionary defaultdict

我有一个案例,相同的键可能有不同的字符串与之关联.

例如flow和wolf => bot有相同的字符,如果我对它们进行排序并将它们用作字典中的键,我想将原始字符串作为值.

我在python dict中尝试过:

d = {}

d["flow"] = flow
d["flow"] = wolf
Run Code Online (Sandbox Code Playgroud)

但是只有一个值与密钥相关联.

我试过d["flow"].append("wolf")但是也行不通.

如何让这个场景与Python dicts一起使用?

Joe*_*don 6

您可以使用该setdefault方法来创建一个列表作为value一个key 即使key不是已经在字典中

所以这使得代码非常简单:

>>> d = {}
>>> d.setdefault(1, []).append(2)
>>> d.setdefault(1, []).append(3)
>>> d.setdefault(5, []).append(6)
>>> d
{1: [2, 3], 5: [6]}
Run Code Online (Sandbox Code Playgroud)


Pra*_*adK 5

您不能在具有相同键的字典中使用多个项目.你应该做的是使值a list.像这样 -

d = dict()
d["flow"] = ["flow"]
d["flow"].append("wolf")
Run Code Online (Sandbox Code Playgroud)

如果这是你想要做的,那么你可能想要使用defaultdict.那你可以做

from collections import defaultdict
d = defaultdict(list)
d["flow"].append("flow")
d["flow"].append("wolf")
Run Code Online (Sandbox Code Playgroud)

  • 考虑违约的好工作 (2认同)