1

6 つのグローバル セットを使用するプログラムを作成しています。呼び出されるさまざまな関数の内部で、これらのセットの一時的なバックアップを作成しtemp_set = setます。これを行うと、元のセットを変更したときに一時セットが何らかの形で変更されます。ここでは Python がtemp_setオリジナルへのポインタに設定していると仮定しsetます。どうすればこれを防ぐことができますか。迅速な対応は大変ありがたいです。

4

2 に答える 2

3

モジュールに使用して、copy浅い/深いコピーを作成します。

さらに良いことに、set.copy()

于 2012-05-18T13:13:01.363 に答える
2

グローバル変数を使用しないでください。代わりに、関数への入力として変数を指定します。詳細がなければ、アドバイスすることはあまりありません。

今のところ、できること

import copy
temp_set = copy.copy(set)

ただし、それらを使用せず、コードを変更して不要にすることをお勧めします(stackoverflowのどこかにない理由についての良いリファレンスがありますが、それを見つけることができないようです。私の言葉を聞いてください)

于 2012-05-18T13:10:39.137 に答える