더북(TheBook)

마지막으로 추출 항목에 영향을 주는 세 번째 인수인 ‘스텝’에 값을 넣어 보자. 가령 ‘스텝’에 2를 넣으면 파이썬은 [2:5] 범위에서 한 항목씩 건너뛴 값들을 반환한다.

a_list = [100, 200, 300, 400, 500, 600]
b_list = a_list[2:5:2]      # [300, 500] 생성

‘스텝’에 음수를 넣으면 리스트의 항목을 거꾸로 순회한다. -1을 넣으면 리스트의 각 항목을 역순으로 나열한 리스트를 반환한다. ‘스텝’에 -2를 넣으면 리스트의 각 항목을 역순으로 한 항목씩 건너뛴 값들을 반환한다.

다음 코드는 리스트의 마지막 항목에서 시작하여 앞쪽으로 순회하는 코드이며, 모든 항목을 역순으로 나열한 리스트 복사본을 생성한다!

rev_list = a_list[::-1]

예시를 살펴보자.

a_list = [100, 200, 300]
rev_list = a_list[::-1]
print(rev_list      # [300, 200, 100] 출력

인수 ‘스텝’은 양수나 음수일 수는 있지만, 0이 될 수는 없다. ‘스텝’이 음수면 다른 인수의 기본값은 다음과 같이 변경된다.

인수 ‘시작’의 기본값은 (-1로 인덱스된) 리스트의 마지막 항목이 된다.

인수 ‘종료’의 기본값은 리스트의 첫 항목이 된다.

그러면 [::-1]은 기존 리스트를 역순으로 나열한 리스트를 생성한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.