전 게시글과 이어지는 작업으로 시퀀스 자료형 사용함
- 슬라이스(slice) : 무엇인가의 일부를 잘라낸다는 뜻으로 시퀀스 일부를 잘라냄
ex ) 시퀀스객체 [ 시작인덱스 : 끝 인덱스]
>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[0:4] #0에서 3까지 잘라서 새 시퀀스 만듦
#결과 [0,10,20,30]
- 리스트 중간부분 가져오기
>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[4:7] # 4에서 6까지 잘라서 새 시퀀스 만듦
#결과 [40,50,60]
>>> a[4:-1] # 4에서 -1(마지막값)이므로 -2까지만 뽑아서 새 시퀀스 만듦
#결과 [40,50,60,70,80]
- 인덱스 증가폭 사용 : 인덱스의 증가폭을 지정하여 범위 내에서 인덱스를 건너뛰며 요소를 가져올 수 있음
>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[2:8:3] # 2부터 7까지 값 가져오는데 인덱스가 3씩 증가
#결과 [20,50]
- 인덱스 생략하기 : 시작 인덱스 혹은 끝 인덱스를 생략하면 맨 처음부터 / 맨 끝까지 돌아갈 때 사용
객체 길이 몰라도 사용할 수 있음
>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[:7] #0에서 6까지 잘라서 새 시퀀스 만듦
#결과 [0,10,20,30,40,50,60]
>>> a[7:] # 7에서 끝까지 요소 가져옴
#결과 [70,80,90]
- 인덱스 생략하면서 증가폭 사용
>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[:7:2] #0에서 6까지 인덱스는 2씩 증가하여 0,2,4,6
#결과 [0,20,40,60]
>>> a[7::2] # 7부터 끝까지 2씩 증가
#결과 [70,90]
>>> a[::2] #0부터 끝까지 2씩 증가
# [0,20,40,60,80]
>>> a[:::] #0부터 끝까지 출력
# [0,10,20,30,40,50,60,70,80,90]
- len 응용하기
>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[0:len(a)] #0에서 a의 길이까지 -> -1 이 되기때문에 마지막 인덱스 가르킴
#결과 [0,10,20,30,40,50,60,70,80,90]
- 리스트, 튜플, range, 문자열에 모두 사용 가능
- 수정, 삭제는 리스트만 가능하며, 삭제 시 리스트는 새로 시퀀스를 생성하는 것이 아니라 기존 객체에 저장됨