キーに依存しない場合にPythonディクショナリの値を変更しても大丈夫かどうか疑問に思っています。
# d is some dictionary containing classes I wrote
for v in d.itervalues():
# modify v, and v's type may or may not change
Python標準がこれについて何を言っているのかわかりませんが、誰かが情報を提供してくれませんか?
ありがとう!
キーに依存しない場合にPythonディクショナリの値を変更しても大丈夫かどうか疑問に思っています。
# d is some dictionary containing classes I wrote
for v in d.itervalues():
# modify v, and v's type may or may not change
Python標準がこれについて何を言っているのかわかりませんが、誰かが情報を提供してくれませんか?
ありがとう!
あなたが次のような構成を意味する場合:
d = {1: [1]}
for v in d.itervalues():
v[0] += 1
はい、これは完全に安全です。はdict
、問題のオブジェクトへの参照を格納するだけであり、保存と取得以外の方法でオブジェクトに触れることはありません。これは明示的に文書化されていませんが、マッピングの定義(dict
サブタイプ)に暗黙的に含まれています。
マッピングオブジェクトは、ハッシュ可能な値を任意のオブジェクトにマッピングします。
「任意」とは、オブジェクトが変更可能である可能性があることを意味します。