を得ることが、私はそれを設定したときに、私はcollections.defaultdict
リターンデフォルト構築されたオブジェクトにすることができます任意の方法がある場合に設定ではなく、デフォルトを使用...Pythonの `defaultdict`:
foo = defaultdict(list)
foo[3].append('dsafdasf')
...ではなく、私はそれにアクセスしようとすると?
try:
for word in foo[None]:
print(word)
except KeyError:
pass
私は、Pythonに '__getitem__'と' __setitem__'関数があるのでこれが可能かもしれないと思いました。 –
@PaulMantaそれは両方を持っていますが、ここでは '__getitem__'だけが使用されています。あなたの例で 'foo [3]'と 'foo [None]'はどちらもdictエントリにアクセスしています。 'foo [3] = ...'のようなものだけを実行すると '__setitem__'が呼び出されます。 – lvc