개요
배열(리스트)의 요소를 역순으로 출력해야 하는 경우가 종종 있습니다. 이때 가장 기본적인 방법은 리스트를 마지막 인덱스부터 처음 인덱스까지 순회하는 것입니다. 파이썬의 range() 함수를 활용하면 간단하게 구현할 수 있습니다.
아래 예제를 통해 자세히 살펴보겠습니다.
예제 코드
my_list = [21, 32, 43, 54, 75]
print("The list is : ")
for i in range(0, len(my_list)):
print(my_list[i])
print("The list after reversal is : ")
for i in range(len(my_list)-1, -1, -1):
print(my_list[i])실행 결과
The list is : 21 32 43 54 75 The list after reversal is : 75 54 43 32 21
코드 설명
- 먼저 정수로 구성된 리스트를 정의하고, 콘솔에 그대로 출력합니다.
range(0, len(my_list))를 사용해 리스트를 앞에서부터 순서대로 순회하며 각 요소를 화면에 표시합니다.- 역순 출력을 위해서는
range(len(my_list)-1, -1, -1)처럼 시작 값을 마지막 인덱스로 설정하고, 종료 값은-1, 증감 값은-1로 지정하여 뒤에서부터 순회합니다. - 이렇게 하면 마지막 요소부터 첫 번째 요소까지 차례대로 콘솔에 출력됩니다.
더 간단한 대안 방법
위 방법 외에도 파이썬에서는 역순 출력을 더 간결하게 처리할 수 있는 방법들이 있습니다.
1. 슬라이싱(Slicing) 활용
my_list = [21, 32, 43, 54, 75]
for item in my_list[::-1]:
print(item)[::-1] 슬라이싱은 원본 리스트는 그대로 두고, 순서가 반전된 새로운 리스트를 반환합니다.
2. 내장 함수 reversed() 활용
my_list = [21, 32, 43, 54, 75]
for item in reversed(my_list):
print(item)reversed() 함수는 역방향 반복자(iterator)를 반환하므로 메모리 효율이 좋으며, 가독성 면에서도 우수합니다.
마무리
인덱스 기반 순회 방식은 반복 로직을 명확히 이해하는 데 도움이 되고, 슬라이싱이나 reversed() 함수는 코드를 더욱 간결하고 파이써닉(Pythonic)하게 만들어 줍니다. 상황에 맞게 적절한 방법을 선택하여 사용하시기 바랍니다.