リストのコピーを話すために、私たちは、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の変化のソート、ソートのリストの一覧を見ることができ、それは雅雅を◡ )