[4.3] 목적을 달성하기 위해 분리 될 수있다

. (1)  # ! / 사용자 / 빈 / 파이썬 ENV 
2  # - * - 코딩 :. UTF-8 - * - 
. 3  
. 4  # 모드 [START : 최종 스텝]를 
5.  "" " 
6.      제 수가 슬라이스 개시의 개시 위치를 나타내고 기본값은 0이다
 7      번째 숫자는 위치 (기본 목록 길이) (단 제외) 단부 섹션이 꺼져 나타내고,
 (8)      . 제 번호 슬라이스 공정 단계를 나타낸다 (기본 1)
 9      시작 시간이 0 인 경우 리스트의 길이 때 끝이 생략 될 경우 생략 할 수있다
 (10)      콜론을 생략 마지막 동안 때 1 단계는 생략되고, 단계가 생략 될 수있다.
 (11)      단계가 음수 인 경우 또한, 그 후, 역방향 슬라이스를 나타낸다 작업의 종료를 시작 값보다 커야한다.
 12 것은  "" " 
13 인 aList = 여기서. ,. 17 15 3 ,. 4 ,. 5 ,. 6 ,. 7 ,. 9 ,. 11, 13이다 ]
 14  #은 원래 새로운의 모든 요소의 목록을 반환 목록 
15  인쇄 (aList [::])
16  #은 역순 모든 요소의 원래리스트의리스트를 반환한다 
(17).  인쇄 (aList 여기서 : -이. 1 ])
 (18)는  #의 구획 요소의 하나 개 획득에도 위치를 취할 
. 19  인쇄 (aList의를 [: 2 ])
 (20)는  #의 구획이 걸릴 하는 취득 소자 홀수 위치 
(21)는  인쇄 (aList를 여기서. 1 : 2 ])
 22  # 지정하는 시작과 슬라이스의 끝 위치 
(23)는  인쇄 (aList를 여기서. 3 :. 6 ])
 24  #을 슬라이스의 끝 위치리스트의 끝에서,리스트의 길이보다 큰 경우에 절단 
25 aList의 [0 : 100 ]
 (26)은  # 슬라이스 시작 위치는리스트의 길이보다 큰 경우에, 빈리스트 
27 aList 여기서 100 :]
 28  
29  # 리스트의 말미에 요소를 추가 
30aList 여기서 (aList의) LEN :]. 9 = ]
 (31)은  #가 헤더 요소 목록에 삽입된다 
(32) [0]. 1, 2 aList의 = ]
 (33)가  # 요소리스트에 삽입 중간 위치 
(34)는 [. 3 :. 3 aList 용의가 = [4. ]
 35  # 동일한 길이리스트의 양쪽에 동일한 요소를 교체리스트, 
36 aList 여기서 :.., 3] = [1 2 ]
 37  # 등호 양쪽리스트의 길이와 동일하지 않을 수 
38 인 aList의 [3 :.]. = [4 ,. 5 6 ]
 39  # 격실 변형 
40 aList의는 [: 2] = [0]. 3 *
 41  인쇄 (aList의)
 (42)는  #의 A A 수정 함 
(43)이 aList [:: 2] = [의 ' ' , ' B' , ' C ' ]
 (44)은  # 왼쪽 조각 양쪽에 동일한리스트의 길이와 동일하며, 연속적이지 
45 aList 여기서 : 2] = [1,2 ]
 46 인  #가 리스트의 처음 세 요소 삭제 
47 aList의를 [:. 3 = []
 48  
49  #은 연속 요소 슬라이싱 
50   aList의를 [:. 3 ]
 (51)은  #의 슬라이스 불연속 광학 요소는이 격막 천공, 
52되는   aList 여기서 : 2]

상기 종래의 슬라이싱 연산은 다음 코드 조각 일 수있다 구현 목적

1  # ! / 사용자 / 빈 / ENV 파이썬 
2  # - * - 코딩 : UTF-8 - * - 
3  수입 번호
 4  
5  
6  그룹 :
 7      "" " 
8      支持切片操作
 9      " "" 
10      데프  __init__ (자기, GROUP_NAME, COMPANY_NAME, 직원) :
 11          self.group_name = GROUP_NAME
 12          self.company_name = COMPANY_NAME
 13          self.staffs = 직원
 14  
15      DEF  __reversed__ (자기) :
 16          "" " 
17 18 것은          "" " 
19.          self.staffs.reverse ()
 (20)가  
21 인      DEF  __getitem__ (자기, 상품)
 (22)는          " "" 
23          , 슬라이스 수 한 다음이 기능을 구현하는
 24          "" " 
25          CLS = 종류 (자기)를
 26 인          IF 다음 isinstance (아이템, 조각)
 27              리턴 CLS (GROUP_NAME = self.group_name, COMPANY_NAME = self.company_name, 스태프 = self.staffs [아이템])
 28          ELIF isinstance (항목 numbers.Integral)
 29              리턴 CLS (= GROUP_NAME self.group_name, COMPANY_NAME = self.company_name, 스태프 = [self.staffs [아이템])
30  
31      DEF  __len__ (자기)
 32          리턴 LEN (self.staffs)
 33  
34      DEF  __iter__ (자기) :
 35          "" " 
36          实现可迭代
 37          " "" 
38          리턴 ITER (self.staffs)
 39  
40      DEF  __contains__ (자체 , 상품) :
 41          "" " 
42          그룹이 'ZY'
 43              인쇄 ( '예')
 44          " "" 
45          경우 항목 self.staffs :
(46)              반환 진정한
 47          다른:
 48              리턴 거짓
 49  
50  
51 명 직원 = ' zy1 ' , ' zy2 ' , ' zy3 ' ]
 (52) 기 = 그룹 (GROUP_NAME = ' 사용자 ' , COMPANY_NAME = ' imooc ' , 스탭 =의 스태프)
 53  인쇄 (LEN (그룹) )

 

추천

출처www.cnblogs.com/zydeboke/p/11247816.html