Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 리스트 순서 뒤집는 3가지 방법: reverse(), 슬라이싱, reversed() 완벽 정리

Python에서 리스트의 요소 순서를 뒤집는 방법은 크게 세 가지가 있습니다. 원본 리스트 자체를 변경하는 reverse() 메서드, 새로운 리스트를 생성하는 슬라이싱 [::-1], 그리고 내장 함수 reversed()입니다. 각 방법의 특징과 사용 예제를 살펴보겠습니다.

1. reverse() 메서드로 제자리에서 뒤집기

리스트 클래스가 기본으로 제공하는 reverse() 메서드를 사용하면 원본 리스트를 직접(in-place) 수정하여 순서를 뒤집을 수 있습니다. 별도의 새 리스트를 만들지 않으므로 메모리 효율이 좋습니다.

예제

a = [3, "Hello", 2, 1]
a.reverse()
print(a)

출력 결과

[1, 2, "Hello", 3]

2. 슬라이싱 [::-1]로 새 리스트 만들기

원본 리스트는 그대로 유지한 채 뒤집힌 새로운 리스트가 필요하다면, 슬라이싱 문법 [::-1]을 활용할 수 있습니다. 시작과 끝 인덱스를 생략하고 스텝(step)을 -1로 지정하면 리스트 전체가 역순으로 복사됩니다.

예제

a = [3, "Hello", 2, 1]
print(a[::-1])

출력 결과

[1, 2, "Hello", 3]

이 경우 원본 리스트 a는 변경되지 않으며, 뒤집힌 순서의 새 리스트가 반환됩니다.

3. reversed() 함수 사용하기

새로운 리스트를 생성하는 또 다른 방법은 내장 함수 reversed()를 사용하는 것입니다. 이 함수는 리스트 전체를 복사하지 않고 역순으로 순회할 수 있는 이터레이터(iterator)를 반환하므로, 대용량 데이터를 다룰 때 유용합니다. 리스트 형태가 필요하다면 list()로 감싸주면 됩니다.

예제

a = [3, "Hello", 2, 1]
rev_a = list(reversed(a))
print(rev_a)

출력 결과

[1, 2, "Hello", 3]

어떤 방법을 선택해야 할까?

  • 원본을 직접 수정해도 괜찮다면list.reverse()
  • 간결한 한 줄 코드로 새 리스트가 필요하다면 → 슬라이싱 [::-1]
  • 메모리 효율적으로 역순 순회만 필요하다면reversed()

상황에 맞는 방법을 선택하면 더 깔끔하고 효율적인 Python 코드를 작성할 수 있습니다.