본문 바로가기

컴퓨터/python

[Python] reverse()와 reversed() 차이_리스트 요소 뒤집기

1. reverse()

   reverse()는 list 타입에서 제공하는 함수로 객체를 반환하는 것이 아니라 존재하는 리스트의 요소를 섞어준다.

   따라서 reverse()는 값을 반환하는 것이 아니기 때문에 출력할 경우 None이 출력된다.

lista=['1','2','3']

print(lista)
print(lista.reverse())
print(lista)

# ['1', '2', '3']
# None
# ['3', '2', '1']

 

2. reversed()

   reversed()는 list 타입에서 제공하는 함수가 아닌 파이썬 내장함수로 시퀀스 요소에 대해 적용된다.

   reversed()는 아래와 같이 객체를 반환한다.

list=[1,2,3]
print(reversed(list))

# <list_reverseiterator object at 0x000001E74BBFC0F0>

   따라서, reversed()객체를 list나 tuple의 형태로 바꾸거나 join을 사용하여 문자열로 만들어 사용하면 된다.

lista=['1','2','3']

print(list(reversed(lista)))
print(tuple(reversed(lista)))
print("".join(reversed(lista)))

# ['3', '2', '1']
# ('3', '2', '1')
# 321

 

 

 

728x90