1. ホーム
  2. dictionary

[解決済み] Pythonでリストからキーと空の値でdictを初期化する方法は?

2022-03-28 13:28:11

質問

ここから先が知りたいです。

keys = [1,2,3]

をこれに変更します。

{1: None, 2: None, 3: None}

Pythonicな方法はないのでしょうか?

このやり方は醜い。

>>> keys = [1,2,3]
>>> dict([(1,2)])
{1: 2}
>>> dict(zip(keys, [None]*len(keys)))
{1: None, 2: None, 3: None}

解決方法は?

dict.fromkeys([1, 2, 3, 4])

これは実際にはクラスメソッドなので、ディクショナリーのサブクラス (たとえば collections.defaultdict も同様です。オプションの第二引数には、キーに使用する値を指定します (デフォルトは None .)