파이썬 리스트 슬라이싱 완전 정복
파이썬을 배우다 보면 리스트 슬라이싱은 꼭 알아야 할 핵심 개념 중 하나입니다. 오늘은 리스트 슬라이싱의 기본부터 고급 활용까지 완벽하게 정리해보겠습니다.
1. 슬라이싱 기본 문법
리스트 슬라이싱은 다음과 같은 문법을 사용합니다:
리스트[시작 인덱스 : 끝 인덱스]
예를 들어, 리스트의 2번째부터 4번째 요소를 가져오려면:
my_list = [10, 20, 30, 40, 50]
print(my_list[1:4]) # 출력: [20, 30, 40]
여기서 주의할 점은 끝 인덱스는 포함되지 않는다는 것입니다.
2. 음수 인덱스 활용
파이썬에서는 음수 인덱스를 사용하여 리스트의 끝에서부터 요소를 참조할 수 있습니다.
my_list = [10, 20, 30, 40, 50]
print(my_list[-3:]) # 출력: [30, 40, 50]
위 예제에서는 리스트의 마지막 3개 요소를 가져옵니다.
3. step을 활용한 슬라이싱
슬라이싱 문법에 step을 추가하여 일정 간격으로 요소를 가져올 수 있습니다:
리스트[시작 인덱스 : 끝 인덱스 : step]
예를 들어, 리스트에서 홀수 번째 요소만 가져오려면:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(my_list[::2]) # 출력: [1, 3, 5, 7, 9]
step을 음수로 지정하면 리스트를 역순으로 가져올 수 있습니다:
print(my_list[::-1]) # 출력: [9, 8, 7, 6, 5, 4, 3, 2, 1]
4. 리스트 복사와 얕은 복사
슬라이싱을 사용하여 리스트를 복사할 수 있습니다:
original = [1, 2, 3]
copy = original[:]
print(copy) # 출력: [1, 2, 3]
이렇게 복사한 리스트는 원본과는 다른 객체이지만, 내부 요소가 리스트인 경우에는 얕은 복사가 이루어집니다.
5. 슬라이싱을 활용한 삽입과 삭제
슬라이싱을 사용하여 리스트의 특정 위치에 요소를 삽입하거나 삭제할 수 있습니다.
삽입 예제:
my_list = [1, 2, 5]
my_list[2:2] = [3, 4]
print(my_list) # 출력: [1, 2, 3, 4, 5]
삭제 예제:
my_list = [1, 2, 3, 4, 5]
my_list[1:4] = []
print(my_list) # 출력: [1, 5]
6. 리스트 뒤집기와 고급 활용
리스트를 뒤집는 가장 간단한 방법은 슬라이싱을 사용하는 것입니다:
my_list = [1, 2, 3, 4, 5]
reversed_list = my_list[::-1]
print(reversed_list) # 출력: [5, 4, 3, 2, 1]
이런 슬라이싱은 매우 강력하며, 리스트 정렬 결과를 보존한 채 새로운 순서를 만들 때 유용합니다.
- 슬라이싱은 리스트의 복사, 삽입, 삭제, 뒤집기에 모두 사용 가능하다.
- step 값과 음수 인덱스를 함께 쓰면 고급 조작도 가능하다.
실전 후기 & 팁
“처음엔 슬라이싱이 너무 헷갈렸어요. 특히 끝 인덱스가 포함되지 않는다는 게 왜 그런지 이해하기 어려웠죠.”
그런데 직접 리스트를 가지고 하나하나 실습하면서 print로 결과를 확인하니 퍼즐처럼 맞춰지는 기분이었어요.
제 팁은 무조건 직접 써보는 겁니다. 예시 따라치기보다, 내가 상상하는 데이터를 자르고 붙이면서 실험해보는 게 훨씬 빨라요.
- 숫자 리스트를 만들어서 짝수/홀수 요소만 추출
- 문자열 리스트를 거꾸로 출력
- 리스트 중간에 새로운 요소 삽입
FAQ
my_list[:] = []
참고 자료 및 이미지
마무리하며
리스트 슬라이싱은 파이썬을 제대로 이해하기 위한 관문입니다.
그 자체가 하나의 언어처럼 작동하기 때문에, 익숙해지면 여러분의 코드가 더욱 간결하고, 읽기 쉬워질 겁니다.
오늘 하루, 슬라이싱을 완전히 마스터한 당신. 그거면 충분합니다.
HANSORI.AI_Blog Labs에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.