以下は、私が信じている方法で機能します。
dictionary = {'k1': {'a': 'b'}, 'k2': [0, 1]}
pointer = dictionary['k1']
print pointer
>>> {'a': 'b'}
pointer.update({'a': 'c'})
print dictionary
>>> {'k1': {'a': 'c'}, 'k2': [0, 1]}
以下は私を苛立たせます:
pointer = dictionary['k2']
print pointer
>>> [0, 1]
pointer.update([2, 3])
>>> AttributeError: 'list' object has no attribute 'update'
リストには更新機能がないことを認識しており、次のようなことができることを理解しています。
pointer[0] = 2
...しかし、参照値を更新するためのより普遍的なオプションが欲しいので、オブジェクトはまだ辞書に属していますが、値は変更されています。
この理由は、次のようなネストされた辞書を持っているためです。
dictionary['key']['key']['key']['key']
私の質問は、リストに更新機能があるかどうかを目的としたものではありません-むしろ、深くネストされた辞書内の値を参照および変更するよりクリーンな方法があるかどうかを尋ねているので、それを参照値に格納する方が目に優しいでしょう何かを割り当てるたびにすべてを入力するのではなく、
ありがとう!
EDIT: 最初の例の構文を修正しました EDIT2:
はっきりさせてください: リストには機能がないことは承知していますがupdate、むしろ普遍的な参照値の更新について質問しています
EDIT3: 簡単な質問です