Python辞書の特定のキーに複数の値を追加したい。どうやってやるの?
a = {}
a["abc"] = 1
a["abc"] = 2
これにより、a ["abc"]の値が1から2に置き換えられます。
代わりに、a ["abc"]に複数の値(1と2の両方)を持たせたいのです。
Python辞書の特定のキーに複数の値を追加したい。どうやってやるの?
a = {}
a["abc"] = 1
a["abc"] = 2
これにより、a ["abc"]の値が1から2に置き換えられます。
代わりに、a ["abc"]に複数の値(1と2の両方)を持たせたいのです。
回答:
値をリストにします。例:
a["abc"] = [1, 2, "bob"]
更新:
キーに値を追加する方法と、リストがまだない場合はリストを作成する方法はいくつかあります。そのような方法の1つを少しずつ説明します。
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
そのキーの値を初期化し、それ以外の場合は何もしないことです。ここで、キーが返されることに注意して、これらを1行にまとめることができます。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はキーと値のペアであり、キーごとに1つの値しかないため、これを行うことはできません。