私の問題は辞書を使用していますが、変更する前にそのコピーを取得したいと考えています。このように私は両方の辞書を比較することができます。コードを変更せずに辞書を変更する
私はこのようにそれを行う:
old_dic = dict(data)
が、私は関数でデータを変更し、それがこの
data = play_turn(data)
のように行われるが、その後、私はまたold_dic
を印刷したいけど、それだ後かわった。もちろん、私は関数play_turn
でそれを変更せず、データを変更してから両方を印刷しようとしましたが、データのみが変更されました。 play_turnはデータを多く変更します。 play_turn関数は、船(ゲームであるため、辞書内のキー)を方向を変えたり速度を変えたりしますが、すべての情報はデータ辞書に保存されています。 辞書には、いくつかのキーまたはいくつかのリストの辞書もあります。
play_turn
機能の間にold_dic
を変更しないでください。あなたは、あなたがクローンを作成するとき.copy
または.deepcopy
を使用
目的に の参照をコピーしたいとき
=
を使用する必要がある。この import copy
old_dic_copy = copy.deepcopy(data)
ようクローン辞書に必要
[mcve]を与えてください - 'play_turn'とは何ですか? – jonrsharpe
多くのデータを変更します。 play_turn関数は、船(ゲームであるため、辞書内のキー)を方向を変えたり速度を変えますが、すべての情報はデータ辞書に保存されます。 – Vipongo
MCVEを提供するには質問しません。私は上記に尋ねた。 – jonrsharpe