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
の魔法は、そのキーの値を初期化することですifそのキーが定義されていない場合、何もしません。ここで、setdefault
がキーを返すことに注意して、これらを1行に結合できます。
a.setdefault("somekey",[]).append("bob")
結果:
>>> a
{'somekey': [1, 2, 'bob']}
dict
メソッド、特にget()
メソッドを見て、これに慣れるためにいくつかの実験を行う必要があります。
どう?
a["abc"] = [1, 2]
これにより、次の結果が得られます。
>>> a
{'abc': [1, 2]}
それはあなたが探していたものですか?