본문 바로가기
Python/Data Structure

[Python] 순서가 뒤집힌 리스트 출력하기

by 전봇대파괴자 2020. 10. 21.
# 원래 리스트
li=[1,2,3,4,5]

# 순서가 뒤집힌 리스트
li_reverse=[5,4,3,2,1]

 

코드를 작성하다 보면 위와 같은 뒤집힌 리스트가 필요할 때가 있습니다. 

그럴 때 활용하는 함수가 바로 reverse, reversed 입니다. 

 

 

1. reverse()

 

li.reverse()
print(li)

>> [5,4,3,2,1]

reverse는 리스트 값들의 순서를 뒤집은 리스트를 반환합니다. 

하지만 원 리스트에 직접 적용되기에 자동적으로 변수를 덮어쓰게 되고, 변수 지정도 불가능합니다. 

 

변수를 지정하여 출력하려고 시도할 경우 None만 출력되는 것을 볼 수 있습니다.  

 

# 원래 리스트
li=[1,2,3,4,5]

# reverse 적용
li.reverse() # li 변수의 리스트가 원래의 [1,2,3,4,5]에서 [5,4,3,2,1]로 변경
print(li) # 뒤집힌 리스트 출력

>> [5,4,3,2,1] 

# 변수 지정해보기
li=[1,2,3,4,5]
li_reverse=li.reverse()
print(li_reverse)

>> None

 

 

 

2. reversed()

reversed의 경우, 결과는 같지만 reverse와 다르게 변수 지정이 가능합니다.

 

li=[1,2,3,4,5]
li_reverse=list(reversed(li))
li_reverse

>> [5,4,3,2,1]

 

주의할 점으로, reversed 바깥에 list를 씌워주는 것을 잊으면 안 됩니다! 

 

# list() 빼놓을 경우
li=[1,2,3,4,5]
li_reverse=reversed(li)
li_reverse

>> <list_reverseiterator at 0x1ee5ec8b898>

 

 

도움이 되었기를 바랍니다!