Pythonのリストの深さのコピー操作(7) - リストの深さコピー、削除、反転、発注

コピー一覧

シャローコピー:単純型要素の完全なコピー、コピーのみの要素が参照型を引用しました

L1 = [3,2,1、[4,5,6]、8、' ABC ' ] 
L1 
[ 3、2、1、[4、5、6]、8、' ABC ' ] 

L2 = L1.copy ()
L2 
[ 3、2、1、[4、5、6]、8、' ABC ' ]
L1の[3] [1] 10 =         #1 素子L1、L2の改変も変化
L1 
[ 3、2、。1、[4、10 ,. 6] ,. 8、' ABC ' ] 
L2の
[ 3、2、。1、 [4、10 ,. 6] ,. 8、' ABC ' ]

ディープコピー:コピー・モジュールは、参照型の新しい要素の完全なコピーを提供しdeepcopy

インポートコピー
L3 = copy.deepcopy(L1)
L3 
[ 3、2、1、[4、10]、[6]、8、' ABC ' ]
L1 [3] [1] = 20であり、
L1の
[ 3、2、。1、[4、20 6] ,. 8は、,.ある' ABC ' ] 
L3         L3は、新たに生成された改質L1要素のリストのディープコピーL3に影響を及ぼさないで 
[ 。3、2、。1、[4、10 ,. 6] ,. 8、' ABC ' ]

*:型の浅いコピー処理を参照してください

L4は= [1,2,3]] * 3 
L4 
[[ 1、2、3]、[1、2、3]、[1、2、3 ] 

L4 [ 1] [1] = 10 
L4 
[ [ 1、10、3]、[1、10、3]、[1、10、3]
 X におけるL4:
     プリント(X)
     プリント(ID(X))        メモリアドレスをフェッチ 
[3、1、10 ]
 84289032 
[ 1、10、3 ]
 84289032 
[ 1、10、3 ]
 84289032の         同じメモリアドレス
L5 = [1、2、3]、[1、2、3]、[1、2、3 ] 
L5 
[ 1、2、3]、[1、2、3]、[1、2、 3 ] 

のために X におけるL5:
     プリント(X)
     プリント(ID(X))
[ 1、2、3 ]
 87157000 
[ 1、2、3 ]
 84213512 
[ 1、2、3 ]
 87157128

要素を削除するリスト

要素に基づいて(値)を除去見つけるために、発生する最初の要素を削除し、O(n)を移動エレメントのリストにつながります

L6 = [3,2,1,4,5,6,7,2,3,4 ] 
L6 
[ 3、2、1、4、5、6、7、2、3、4 ] 

L6.remove( 2 
L6 
[ 3、1、4、5、6、7、2、3、4 ] 

L6.remove( 10  ----------------------- -------------------------------------------------- - 
とValueErrorトレースバック(最新の呼び出しの最後)
 <ipython-入力31-8cf95df45268> 、<モジュール> 
----> 1 L6.remove(10 

list.remove(x)は:xはとValueError ない リスト

インデックス検索に基づいて、POP(インデックス)、(n)は指数ビット素子O(1)を取り外し、要素リストOの移動を引き起こします

L6.pop(3 
5 L6 [
3、1、4、6、7、2、3、4 ] L6.pop( 10 L6 ------------------ -------------------------------------------------- ------- はIndexErrorトレースバック(最新のコール最後) <ipython-入力33-8663c8410c3d> <モジュール> ----> 1 L6.pop(10 2 L6 はIndexError:範囲外ポップインデックス

ポップ()リスト要素O(1)、高効率の尾部を除去します

L6.pop()
4 L6 [
3、1、4、6、7、2、3]

クリア()空のリストを残し、参照カウントが要素をデクリメントされる、リストの長さが0であることを、すべての要素のリストをクリアします

L6.clear()
L6 
[]

フリップリスト

自体を変更する、要素のリストをリバース)(逆

L7 = [3,2,1,4,5,6,7,2,3,4 ] 
L7 
[ 3、2、1、4、5、6、7、2、3、4 ] 

L7.reverse()
L7 
[ 4、3、2、7、6、5、4、1、2、3]

リストソート

ソート(キー=関数は、=真逆の)リスト要素をソートし、デフォルトの昇順自体を変更します

要素を修正することなく、唯一のソートでソート重要な要素のどのように異なる種類を指定します

= Trueの降順のソートを逆転

L8 = [3,2,1,4,5,6,7,2,3,4、' '' B '' C ' ] 
L8 
[ 3、2、1、4、5、6、7 、2、3、4、' A '' B '' C ' ] 
L8.sort() -------------------------- ------------------------------------------------- 
はTypeErrorトレースバック(最新の呼び出しの最後) <ipython-入力46-951f259be954> 、<モジュール> 
----> 1 L8.sort()
はTypeError:" <" ではありません



 インスタンス間に支持' STR '   ' INT ' 

L8.sort(キー = STR、逆= TRUE)
L8 
[ ' C '' B '' A '、7、6、5、4、4、3、3 、2、2、1]

要素を分析すると、存在しています

リストの要素があるかどうかを決定する際に、ブール値を返します

C  L8 
 4 L8 
真の
 10 L8 

おすすめ

転載: www.cnblogs.com/omgasw/p/11613085.html