値としてではなく参考としてdefaultdictに辞書を渡すだから私はこの問題は、デフォルトの辞書私は合格していることを別の辞書Pythonの - どのように
attributes = { 'first_name': None, 'last_name': None, 'calls': 0 }
accounts = defaultdict(lambda: attributes)
のデフォルト値を持つ辞書をされていることを言いますinto defaultdict(属性)が参照として渡されます。どのように値として渡すことができますか?私は唯一の「コールに対してそれぞれの値をインクリメントするので、私は、1を印刷するためにそれらのそれぞれをしたい
accounts[1]['calls'] = accounts[1]['calls'] + 1
accounts[2]['calls'] = accounts[2]['calls'] + 1
print accounts[1]['calls'] # prints 2
print accounts[2]['calls'] # prints 2
- つのキーの値を変更すると、例えば、他のキーの値
を変更しないように一度
これは明示的にコピーを作成する必要があります。パラメータを渡すことは常に参照を渡すようなものです。 –
Pythonには1つの唯一の評価戦略があります:[共有によって呼び出す](https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_sharing)。 –
あなたはこのようになります:http://stackoverflow.com/questions/3975376/understanding-dict-copy-shallow-or-deep/3975388#3975388 – sangheestyle