리스트 슬라이싱 2부
Coddy Python 여정의 Fundamentals 섹션에 포함된 레슨 — 77개 중 65번째.
슬라이싱에는 또 다른 step 매개변수가 있습니다: lst[start:stop:step]. 예를 들어 다음 리스트를 살펴보세요:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]인덱스 1부터 8까지 매 두 번째 요소를 가져옵니다:
print(numbers[1:8:2])
# 출력: [1, 3, 5, 7]인덱스 2부터 매 세 번째 요소를 가져옵니다:
print(numbers[2::3])
# 출력: [2, 5, 8]슬라이싱은 음수 인덱스도 지원합니다.
끝에서부터 세기:
print(numbers[-3:])
# 출력: [7, 8, 9]여기서 -3은 "끝에서 3번째 위치부터 시작"을 의미합니다.
끝까지 세기:
print(numbers[:-2])
# 출력: [0, 1, 2, 3, 4, 5, 6, 7]여기서 -2는 "끝에서 2번째 위치에서 멈춤"(제외)을 의미합니다.
음수 증감값을 사용한 역순 출력:
print(numbers[::-1])
# Output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]- 첫 번째
:앞의 빈 공간은 "처음부터 시작"을 의미합니다. :사이의 빈 공간은 "끝까지 진행"을 의미합니다.- -1은 "한 번에 한 단계씩 뒤로 이동"을 의미합니다.
챌린지
쉬움입력으로 리스트를 받는(given) 프로그램을 작성하고, 다음 슬라이싱 연산을 기반으로 세 개의 새로운 리스트를 출력하세요:
- 인덱스 1(두 번째 요소)부터 시작하여 매 세 번째 요소를 포함하는 리스트
- 6번째 요소부터 1번째 요소까지 역순으로 모든 요소를 포함하는 리스트
- 리스트의 중간부터 끝까지 매 두 번째 요소를 포함하는 리스트
치트 시트
슬라이싱 구문: lst[start:stop:step]
슬라이싱 예시:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 인덱스 1부터 8까지 두 번째 요소마다 출력
print(numbers[1:8:2]) # Output: [1, 3, 5, 7]
# 인덱스 2부터 세 번째 요소마다 출력
print(numbers[2::3]) # Output: [2, 5, 8]
# 마지막 세 요소
print(numbers[-3:]) # Output: [7, 8, 9]
# 마지막 두 요소를 제외한 모든 요소
print(numbers[:-2]) # Output: [0, 1, 2, 3, 4, 5, 6, 7]
# 리스트 뒤집기
print(numbers[::-1]) # Output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]주요 포인트:
- 음수 인덱스는 리스트의 끝에서부터 계산합니다.
- 첫 번째
:앞의 빈 공간은 "처음부터 시작"을 의미합니다. :사이의 빈 공간은 "끝까지 진행"을 의미합니다.- 음수 step은 순서를 뒤집습니다.
직접 해보기
lst = input().split(",")
# 아래에 코드를 작성하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.