道路Pythonの学習:コピーされたリスト(一覧)上の何か

リストのコピーを話すために、私たちは、Pythonの割り当てルールについて話します

 

まず、リストを作成します。

= [1,2,3]

通常、我々は要素法はこれですコピーします。

= B #コピーの要素の一般的な手順プリント(A)
 プリント(B)
の結果である:
[ 2,3 ] 
、[ 2,3]


このコード行によって、我々はもちろん、同等のリストBのリストを作成しましたが、今回はそれが可能になる問題

私たちは、新しい作成しようとすると、Bのリストを(例えば、逆の操作など)の操作をソートする場合:

b.reverse()

プリント(B)

結果は:
[ 3,2,1]

〜すべてはここで何も間違っているようだが、実際にピットの父の事は静かにあり

私たちはそれを印刷してみましょ一覧表示の値

プリント(A)

の結果:
[ 3,2,1]

見ることができる種類のリストも変更

これは、我々が見たいと思って、必ずしも結果ではありません

その理由は次のとおりです。

私たちは、このリストbを割り当てるために、「B = A」のコードを使用すると、Bおよびリストは、同じアドレスにリストポイントで、リスト操作はこのことを、新しいアドレス一覧を割り当てていないソートします我々はリストB上のリストまたはソート操作であるかどうか、別のリストを注文すると、変更されます

我々は割り当てを行う場合、またはBのリストのためのリストは、その後、そのような懸念を、存在しない場合と割り当てリストは、新しいアドレスを割り当てられたときので、

 

だから、どのように我々はこの問題を解決するのですか?

非常に単純な、単にコピー操作をリスト次のコードを使用してフラグメントのリストを使用します。

= A [2,3 ] 
B = A [:]          #複製リスト正しい方法

プリント(A)
 プリント(B)

の結果である:
[ 2,3 ] 
、[ 2,3]

この時点では、リストBの逆の操作になります:

b.reverse()

プリント(A)
 プリント(B)

の結果である:
[ 2,3 ] 
[ 3,2,1]

Bのリストのリストとは(の足枷無力のないようなものを持っていないし、もつれたので、あなただけが変更されていないBの変化のソート、ソートのリストの一覧を見ることができ、それは雅雅を◡ ) 

 

おすすめ

転載: www.cnblogs.com/toxic-antidote/p/11409151.html