파이썬 목록 깊이 복사 작업 (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         #의 소자 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) 1 2 ,. [. 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))         #가 페치 메모리 어드레스 
[1, 10, 3 ]
 84,289,032 
[ 1, 10, 3 ]
 84,289,032 
[ 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 ]
 87,157,000 
[ 1,2,3 ]
 84,213,512 
[ 1,2,3 ]
 87,157,128

목록 제거 요소

찾을 수있는 요소 (값)를 기초하여 제거 (n)의 첫 번째 요소가 발생 제거 O 이동 요소의 목록을 이끌

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> ---- ) 

에 ValueError는 : list.remove (x)는, X 하지   목록

인덱스 룩업에 기초하여 팝업 (인덱스) (1) 상기 요소리스트 O의 이동을 유발 (n)의 인덱스 비트 소자 O 삭제

L6.pop (3 ) 
5 L6 [
3, 1, 4, 6, 7, 2, 3, 4 ] L6.pop ( 10 ) L6 ------------------ -------------------------------------------------- ------- IndexError 트레이스 백 (지난 최근 통화) <ipython 입력-33-8663c8410c3d> 에서 <모듈> ----> L6.pop 1 (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]

목록 분류

종류 (키 = 기능 = 진정한 역)리스트 요소를 정렬 기본 상승 자체를 수정

요소를 수정하지 않고, 단지 정렬 정렬 핵심 요소의 방법 다른 유형을 지정

= 진정한 내림차순 정렬을 역

L8 = [3,2,1,4,5,6,7,2,3,4, ' ' , ' B ' , ' C ' ] 
L8 
[ 3, 2, 1, 4, 5, 6, 7 2, 3, 4, ' ' , ' B ' , ' C ' ] 
L8.sort () -------------------------- ------------------------------------------------- 
형식 오류 트레이스 백 (지난 최근 통화) <ipython 입력-46-951f259be954> 에서 <모듈> 
----> 1 L8.sort () 
오류 : ' <' 하지



 인스턴스간에 지원되는 ' STR '   ' INT ' 

L8.sort (키 = str을 리버스 = 참) 
L8 
[ ' C ' , ' B ' , ' ' , 7, 6, 5, 4, 4, 3, 3, 2, 2, 1]

원소 분석은 존재

리스트 내의 요소가 있는지 여부를 결정하는데, 부울 값을 반환

' C '  에서 L8 
진정한
 4 에서 L8 
진정한
 10 에서 L8 
거짓

추천

출처www.cnblogs.com/omgasw/p/11613085.html