List Slicing

정의

  • 대상 리스트의 부분 리스트를 생성하거나 수정하는 것
  • 가장 마지막 인덱스는 포함되지 않음

기본 문법

1
2
# 문법
리스트이름[시작인덱스 : 끝인덱스 : 간격]

사용법

1
2
3
4
# 기본 사용법  
numbers = [10, 20, 30, 40, 50, 60, 70]
subset1 = numbers[0:2]
print(subset1)
1
2
3
4
5
6
# 시작 혹은 끝은 생략할 수 있음  
numbers = [10, 20, 30, 40, 50, 60, 70]
subset2 = numbers[:3]
subset3 = numbers[3:]
print(subset2)
print(subset3)
1
2
3
4
5
6
# 리스트는 순환하므로, 음수를 인덱스로 쓸 경우 "마지막부터"로 바뀜
numbers = [10, 20, 30, 40, 50, 60, 70]
subset4 = numbers[-3:]
subset5 = numbers[-3:-2]
print(subset4)
print(subset5)
1
2
3
4
# 두 번째 콜론은 간격을 의미
numbers = [10, 20, 30, 40, 50, 60, 70]
subset6 = numbers[::2]
print(subset6)
1
2
3
4
5
6
# 간격에 음수를 넣으면 역순으로 순환함
numbers = [10, 20, 30, 40, 50, 60, 70]
subset7 = numbers[::-1]
subset8 = numbers[::-2]
print(subset7)
print(subset8)

Reference

방송통신대 - 오픈소스기반 데이터분석 (정재화)

Comments