Python에서는 리스트를 뒤집는 여러 가지 방법이 있습니다. 이번 글에서는 그 중에서도 가장 널리 사용되는 방법인 [::-1]을 비롯하여, reversed() 함수를 사용하는 방법과 reverse() 메소드를 사용하는 방법을 다룰 예정입니다.
새로운 리스트를 만들지 않기 때문에, 원래의 리스트를 바로 뒤집을 수 있습니다.
그러나 슬라이싱을 사용하면, 리스트의 크기가 매우 큰 경우 메모리를 많이 차지할 수 있습니다.
num_list = [1, 2, 3, 4, 5]
num_list = num_list[::-1]
print(num_list) # 출력 결과: [5, 4, 3, 2, 1]
[::-1]에 비해 메모리 사용량이 적지만, 반환값이 이터레이터이기 때문에 반환값을 바로 사용할 수 없습니다.
따라서 list() 함수를 이용하여 이터레이터를 리스트로 변환해야 합니다.
num_list = [1, 2, 3, 4, 5]
num_list = list(reversed(num_list))
print(num_list) # 출력 결과: [5, 4, 3, 2, 1]
메모리 사용량이 적지만, 원래의 리스트를 직접 수정하기 때문에, 이전의 리스트를 복원할 방법이 없습니다.
num_list = [1, 2, 3, 4, 5]
num_list.reverse()
print(num_list) # 출력 결과: [5, 4, 3, 2, 1]
https://school.programmers.co.kr/learn/courses/30/lessons/120821
각 방법마다 장단점이 있으므로, 리스트를 뒤집는 방법을 선택할 때는 메모리 사용량과 원래의 리스트를 보존해야 하는 경우를 고려해야 합니다.