그동안 리스트나 튜플의 값을 지정할 때, 리스트이름 혹은 리스트이름[0] 이런 식으로 전체값이나 특정 값 하나만 꺼내올 수 있었다.
하지만 하나만 아닌 여러 값, 여러 위치에 따른 값이 필요할 수 있는데 이럴 때 사용하는 것이 슬라이싱이다.
예제를 보자.
number = ["one", "two", "three", "four", "five", "six", "seven"]
print(number[1:5])
number 리스트에 one~seven까지 총 7개 값이 담겨있다.
그리고 print함수 안을 보면 number[1:5]라 되어 있는데 이건 리스트 1~4까지의 값을 지정한 것이다.
여기서 주의할 점은 두번째에 적힌 5가 리스트 기준 5번으로 지정된 값을 추출하는 것이 아닌 4번으로 지정된 값가지만 추출한다는 것이다.
그러니 number[1:5]는 사실상 number[1~4]의 값만 추출한다는 것이다.
- 출력값
> ["two", "three", "four", "five"]
이번엔 간격을 주는 슬라이싱을 설명해보겠다.
number = ["one", "two", "three", "four", "five", "six", "seven"]
print(number[1:6:2])
print문을 보면 number[1:6:2] 2가 추가되어 총 3개 값을 준 것을 볼 수 있다.
여기서 2가 뜻하는 것은 2개 간격으로 추출하겠다는 뜻이다.
- 출력값
> ["two", "four", "six"]
마지막으로 슬라이싱 예시와 출력값을 보여주겠다.
number = ["one", "two", "three", "four", "five", "six", "seven"]
#리스트 1번과 그 뒤의 값
print(number[1:])
#리스트 4번까지의 값
print(number[:5])
#리스트 역순으로
print(number[::-1])
#리스트 1번 부터 2개 간격으로
print(number[1::2])
#리스트 4번까지 값 2개 간격으로
print(number[:5:2])
- 출력값
['two', 'three', 'four', 'five', 'six', 'seven']
['one', 'two', 'three', 'four', 'five']
['seven', 'six', 'five', 'four', 'three', 'two', 'one']
['two', 'four', 'six']
['one', 'three', 'five']
튜플 역시 리스트와 똑같은 방법으로 사용하면 된다.
'파이썬' 카테고리의 다른 글
파이썬 상대 및 절대 파일 경로 (0) | 2023.07.29 |
---|---|
파이썬 외부 파일 사용(with) (0) | 2023.07.29 |
파이썬 클래스 상속 (0) | 2023.07.26 |
파이썬 인스턴스 (0) | 2023.07.24 |
파이썬 고차함수 (1) | 2023.07.24 |