これは、いくつかのテスト問題として表示されました。第1引数にキャッシュ引数を使うこの関数を考えると
def f(cache, key, val):
cache[key] = val
# insert some insanely complicated operation on the cache
print cache
辞書を作成し、次のように関数を使用します。
c = {}
f(c,"one",1)
f(c,"two",2)
これは期待どおりに動作するように見えますが (つまり、c 辞書に追加するなど)、実際にその参照を渡しているのでしょうか、それとも非効率的なコピーを行っているのでしょうか?