指定されたキーが辞書にすでに存在するかどうかを確認し、それを増分します。質問する

指定されたキーが辞書にすでに存在するかどうかを確認し、それを増分します。質問する

辞書内のキーがすでに None 以外の値に設定されているかどうかを確認するにはどうすればよいでしょうか?

すでに値が存在する場合は値を増やし、そうでない場合は 1 に設定します。

my_dict = {}

if my_dict[key] is not None:
  my_dict[key] = 1
else:
  my_dict[key] += 1

ベストアンサー1

あなたは探しているcollections.defaultdict(Python 2.5以降で利用可能)。これは

from collections import defaultdict

my_dict = defaultdict(int)
my_dict[key] += 1

あなたの望むことをします。

通常のPythonではdict、指定されたキーに値がない場合、辞書にアクセスしても は取得されず、が発生します。したがって、通常の を使用する場合は、コードの代わりに を使用します。NoneKeyErrordict

if key in my_dict:
    my_dict[key] += 1
else:
    my_dict[key] = 1

おすすめ記事