2017-05-16 3 views
-1

私のコードを参照してください、ポップ機能がリストに適用されるたびに、この新しいリストに割り当てられた別のリスト(old)私はこれが間違っているとか、間違っていると思います。私はポップを使用している間、私の古いリストを維持する簡単な方法を見つける必要があります。pop()関数は、割り当てられたすべてのリストを変更しないようにする方法

a = [1, 5, 4, 6] 
z = [] 

z = a 

z.pop(1) 


print(z) #prints [1, 4, 6] 

print(a) #prints [1, 4, 
+1

どのような言語を使用しますか?あなたはあなたの結果を正しく貼り付けられたと確信していますか?(print(a)#prints [1,4,6]) –

答えて

0

代わりにのみリストAの変数zにメモリ位置を割り当てる代入演算子(=)を使用して、リストからcopy()方法を使用することができます。

z = a.copy()リストaをリストzにコピーします。

https://docs.python.org/3.4/tutorial/datastructures.html

+0

ありがとうございます。私はリストが単純に彼らがしない他の変数と同様に行動すると思っていたと思う。 –

0
a = [1, 5, 4, 6] 
z=[]+a # will copy (unlike to z.append(a)). 
z.pop(1) 
print(z) # [1, 4, 6] 
print(a) # [1, 5, 4, 6] 
0

あなたは新しい配列に古い配列のコピーを作成する必要があります。

は、ここでのドキュメントです。あなたがやっているのは、古い配列を参照することだけです。その場合、新しいリストを変更すると、元の配列という配列に変更されます。この概念は、使用している言語に関係なく適用できます。 JavaScriptを使用している場合、ほぼ同じ質問がここに返されましたWhy does changing an Array in JavaScript affect copies of the array?

関連する問題