1

私が取り組んでいるコードは一時変数を変更しているので、それを停止する方法がわかりません。基本的に、これが問題です。

def example(array):
    temp = array
    for i in range whatever:
        #change array

配列を変更する必要がありますが、温度は同じままにしてください。

4

2 に答える 2

5

この線

temp = array

の内容はコピーしませんarray。別の名前を同じオブジェクトにバインドするだけです。オブジェクトを実際にコピーする方法は、オブジェクトのタイプによって異なります。NumPy配列の場合、次のことができます

temp = array.copy()

Python リストの場合、Python 3.3 以降では上記の行を使用できます。以前のバージョンでは、使用できます

temp = array[:]

モジュール には、汎用コピー関数copy()およびもあります。deepcopy()copy

于 2012-07-06T12:31:06.677 に答える
1

temp = array変数tempの内容の別の名前であることを示すだけです。array

一般に、コピーが必要な場合は、copyモジュールを使用して次の操作を実行できます。

import copy

temp = copy.copy(arr)  # or copy.deepcopy(arr), depending on the situation
于 2012-07-06T12:31:21.233 に答える