辞書内のキーがすでに 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
、指定されたキーに値がない場合、辞書にアクセスしても は取得されず、が発生します。したがって、通常の を使用する場合は、コードの代わりに を使用します。None
KeyError
dict
if key in my_dict:
my_dict[key] += 1
else:
my_dict[key] = 1