キーの値を更新する前に、辞書にキーが存在するかどうかをテストしたかったので、次のコードを書きました。
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
これはこのタスクを実行するための最善の方法ではないと思います。辞書内のキーをテストするより良い方法はありますか?
ベストアンサー1
d = {"key1": 10, "key2": 23}
if "key1" in d:
print("this will execute")
if "nonexistent key" in d:
print("this will not")
使用dict.get()
キーが存在しない場合にデフォルト値を提供するには:
d = {}
for i in range(100):
key = i % 10
d[key] = d.get(key, 0) + 1
各キーにデフォルト値を設定するには、dict.setdefault()
各課題について:
d = {}
for i in range(100):
d[i % 10] = d.setdefault(i % 10, 0) + 1
...または、defaultdict
からcollections
モジュール:
from collections import defaultdict
d = defaultdict(int)
for i in range(100):
d[i % 10] += 1