티스토리 뷰
📌 목차
파이썬 슬라이싱
슬라이싱이란?
파이썬에서 슬라이싱(Slicing)은 시퀀스(Sequence) 객체를 잘라내는 기능을 제공합니다. 시퀀스 객체란 데이터의 순서가 정해진, 원소가 여러 개 있는 자료형을 의미합니다. 리스트(List), 튜플(Tuple), 문자열(String), 바이트(Byte), 바이트 배열(Bytearray) 등이 시퀀스 객체에 해당합니다.
슬라이싱을 이용하면 시퀀스 객체에서 일부분만 가져와서 새로운 시퀀스 객체를 만들 수 있습니다. 이를 통해, 시퀀스 객체에서 원하는 데이터를 쉽게 추출하거나, 시퀀스 객체를 분할하여 처리할 수 있습니다.
슬라이싱의 기본 문법은 다음과 같습니다.
시퀀스객체[시작인덱스:끝인덱스:간격]
- 시작 인덱스는 슬라이싱할 구간의 시작 위치를 나타냅니다.
- 끝 인덱스는 슬라이싱할 구간의 끝 위치 + 1을 나타냅니다.
- 간격은 슬라이싱할 구간에서 가져올 데이터의 간격을 나타냅니다. 생략하면 기본 값인 1이 사용됩니다.
예를 들어, 리스트 lst에서 인덱스 1부터 3까지의 데이터를 추출하고 싶다면 다음과 같이 슬라이싱할 수 있습니다.
lst = [1, 2, 3, 4, 5]
sub_lst = lst[1:4] # [2, 3, 4] 출력
이처럼 슬라이싱을 사용하면 시퀀스 객체에서 원하는 부분을 쉽게 추출할 수 있습니다. 슬라이싱은 파이썬에서 매우 유용한 기능 중 하나이며, 다양한 예제를 통해 더욱 자세히 알아보도록 하겠습니다.
리스트 슬라이싱 예제
리스트(List)는 파이썬에서 가장 많이 사용되는 시퀀스(Sequence) 객체 중 하나입니다. 리스트 슬라이싱은 리스트에서 일부분만 추출하여 새로운 리스트를 만들어내는 기능입니다. 다음은 리스트 슬라이싱에 대한 예제 5개입니다.
1) 인덱스 범위를 지정하지 않은 경우
lst = [1, 2, 3, 4, 5]
sub_lst = lst[:]
print(sub_lst) # [1, 2, 3, 4, 5] 출력
인덱스의 범위를 지정하지 않으면 리스트 전체를 추출합니다.
2) 시작 인덱스만 지정하는 경우
lst = [1, 2, 3, 4, 5]
sub_lst = lst[2:]
print(sub_lst) # [3, 4, 5] 출력
3) 끝 인덱스만 지정하는 경우
lst = [1, 2, 3, 4, 5]
sub_lst = lst[:3]
print(sub_lst) # [1, 2, 3] 출력
4) 리스트에서 일부 데이터 추출하기
리스트에서 특정 범위의 값을 추출하기
lst = [1, 2, 3, 4, 5]
sub_lst = lst[1:4] # [2, 3, 4] 출력
5) 리스트에서 일정 간격으로 추출하기
lst = [1, 2, 3, 4, 5]
sub_lst = lst[::2] # [1, 3, 5] 출력
6) 리스트 역순으로 출력하기
numbers = [1, 2, 3, 4, 5]
reversed_numbers = numbers[::-1]
print(reversed_numbers) # [5, 4, 3, 2, 1] 출력
리스트를 역순으로 뒤집으려면 슬라이싱을 사용합니다. 이때 간격을 -1로 설정하여 리스트를 뒤집을 수 있습니다.
7) 리스트 중복 제거하기
리스트에서 중복 제거 하려면 set() 함수를 사용 하면 된다. 그러나, set()을 사용하면 순서를 보장하지 않으므로 결과 리스트를 정렬하려면 슬라이싱을 사용한다.
fruits = ['apple', 'banana', 'cherry', 'apple', 'orange']
unique_fruits = sorted(list(set(fruits)))
print(unique_fruits) # ['apple', 'banana', 'cherry', 'orange'] 출력
8) 홀수 인덱스 값 추출하기
lst[1::2]는 리스트 lst에서 인덱스 1부터 끝까지(2칸 간격으로) 슬라이싱하여 홀수 인덱스에 해당하는 요소들만 추출합니다.
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
odd_lst = lst[1::2]
print(odd_lst) # [2, 4, 6, 8]
9) 짝수 인덱스 값 추출하기
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_lst = lst[::2]
print(even_lst) # [1, 3, 5, 7, 9]
10) 다차원 리스트 슬라이싱 _ 2차원
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(arr[:2]) # [[1, 2, 3], [4, 5, 6]]
print(arr[1:]) # [[4, 5, 6], [7, 8, 9]]
print(arr[1:2]) # [[4, 5, 6]]
위 예제에서 arr[:2]는 첫 번째 차원에서 0번째와 1번째 요소를 추출합니다. arr[1:]은 첫 번째 차원에서 1번째부터 끝까지의 요소를 추출합니다. arr[1:2]는 첫 번째 차원에서 1번째부터 2번째 요소까지 추출합니다.
11) 다차원 리스트 슬라이싱 _ 3차원
lst = [[[1, 2], [3, 4]], [[5, 6], [7, 8]], [[9, 10], [11, 12]]]
new_lst = lst[1:3][0:2][1:3]
print(new_lst) # [[[7, 8]]]
위 예제에서는 3차원 리스트의 첫 번째 차원에서 1번 인덱스부터 2번 인덱스까지, 두 번째 차원에서 0번 인덱스부터 1번 인덱스까지, 세 번째 차원에서 1번 인덱스부터 2번 인덱스까지 추출합니다. 결과적으로 [[[7, 8]]]이라는 3차원 리스트가 출력됩니다.
'일상 > 파이썬' 카테고리의 다른 글
파이썬 리스트 사칙연산 (0) | 2023.03.29 |
---|---|
파이썬에서 문자열 리스트 활용 예제 (1) | 2023.03.27 |
파이썬에서 리스트 활용 예제(생성, 정렬, 길이, for,max,min,변환) (0) | 2023.03.23 |
파이썬에서 리스트에 요소를 추가하는 방법 (리스트에 값 추가 하는 방법) (0) | 2023.03.22 |
[파이썬] for문 / for문 예제 10개 (0) | 2023.03.21 |
- Total
- Today
- Yesterday
- GPTCHAT꿀팁
- 가열식가습기추천 #2023가열식가습기
- 블로그전문성
- 리스트요소의합
- 치즈단계
- 블로그분류
- 파이썬
- 여자심장병
- 리스트가로출력
- 현미빵
- 리스트고급
- 파이썬리스트기초
- 블로그신뢰성
- 아티산빵
- 치즈알러지
- gptchat문제점
- 파이썬리스트
- range()
- 티스토리하위카테고리만들기
- GPTCHAT활용
- GPTCHAT레시피
- 돌아기치즈
- Mediterranean diet
- 가열식가습기 #가열식가습기주의할점 #가열식가습기단점
- list for
- 티스토리하위카테고리설정
- 식이섬유가높은빵
- 유제품알러지
- 아기치즈선택
- 리스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |