2020-10-04 00:05:27

파이썬에서 리스트 요소의 순서를 뒤집는 방법은 여러가지가 있겠지만, 가장 간단하면서도 유용한 3가지 방법을 소개해드리려고 합니다. 우선 a라는 이름의 리스트가 있다고 가정하고 시작하겠습니다. 

 

a = [1, 2, 3, 4, 5, 6, 7]

 

1) a[::-1]

첫번째 방법은 확장슬라이싱이라고 부르는데, 순서를 뒤집고자하는 리스트에 [::-1]을 붙이는 것입니다. 스트라이드(stride) 또는 증가값을 -1로 해줘서 뒤에서부터 하나씩 읽는 것입니다. 

 

a = [1, 2, 3, 4, 5, 6, 7]
print(a[::-1])  # [7, 6, 5, 4, 3, 2, 1]

 

2) list(reversed(a))

두번째로는 reversed() 함수를 이용해서 요소 순서를 뒤집은 것을 리스트화하는 방법이 있습니다. reversed() 함수의 리턴값은 보시다시피 list_reverseiterator 객체이기 때문에 list() 함수로 감싸줘야지 리스트로 변환됩니다. 

 

a = [1, 2, 3, 4, 5, 6, 7]
print(reversed(a))  # <list_reverseiterator object at 0x1047d2e60>
print(list(reversed(a)))  # [7, 6, 5, 4, 3, 2, 1]

 

3) a.reverse()

세번째는 리스트 객체의 reverse() 메소드를 활용하는 것입니다. reverse() 메소드를 활용하면 메모리 상의 리스트의 요소들을 직접 역순으로 정렬합니다. 따라서 별도로 변수에 값을 할당해줄 필요가 없습니다. 

 

a = [1, 2, 3, 4, 5, 6, 7]
a.reverse()
print(a)  # [7, 6, 5, 4, 3, 2, 1]