[python]バイナリキー値で値を定義および変更する(2)


存在しないキー値にアクセスして変更すると、キーストロークエラーが発生します。

mDict = {'key':'value'}
mDict['key2']
# KeyError!

存在しないキー値にアクセスする際に誤って自動的に生成される方法


collectionsモジュールのdefaultdictクラスを設定すると、存在しないキーにアクセスしたときにキーを押すエラーが発生することなく、値を自動的に生成できます.
defaultdict作成者はdickner資料を定義するときに、特定のキー値がない場合、defaultdictの作成者パラメータに自動的に値を設定します.
from collections import defaultdict

# 존재하지 않는 key값에 접근하면 해당 key값에 해당하는 value를 empty list로 생성
dict1 = defaultdict(list)
dict1['key1']
#결과 [] (empty list)

サブプロパティのリポジトリ値の指定


空リストのほか、int、lambdaなども使用できます
dict1 = defaultdict(int)        # 0으로 생성
dict2 = difaultdict(lambda: 0)  # 람다함수 사용 가능