데이터 꿈나무

[Python] reverse, reversed 차이 본문

Language/Python

[Python] reverse, reversed 차이

ye_ju 2023. 7. 11. 19:53

reverse, reversed는 파이썬에서 리스트의 요소를 뒤집을 때 사용합니다.

이 두개의 차이점을 알아보도록 하겠습니다.

 

📌 reverse

reverse는 list 타입에서 제공하는 함수입니다. list.reverse()

l = [' t', 'o', 'p'] # list타입
t = ('t', 'o', 'p') # tuple 타입
d = {'t': 1, 'o': 2, 'p': 3} # dict 타입
s = 'top' # string 타입
-------------------------------------------------------
l.reverse()  # list의 순서를 뒤집어줌
t.reverse()  # AttributeError: 'tuple' object has no attribute 'reverse'
d.reverse()  # AttributeError: 'dict' object has no attribute 'reverse'
s.reverse()  # AttributeError: 'str' object has no attribute 'reverse'

print(l[:])

---------------------------------------------
# result
['p', 'o', 't']

 

리스트 값을 반환하는 것이 아니라 변환시켜주기 때문에 print(l.reverse())라는 것은 None으로 출력됩니다.

l = ['a', 'b', 'c']
l_reverse = l.reverse()

print(l_reverse)  
print(l) 

-------------------------------
# result

None
['c', 'b', 'a']

 

📌 reversed

reversed는 내장함수로, list에서 제공하는 함수가 아닙니다. reversed(var)

l = [' t', 'o', 'p'] # list타입
t = ('t', 'o', 'p') # tuple 타입
d = {'t': 1, 'o': 2, 'p': 3} # dict 타입
s = 'top' # string 타입

reversed(l)  # <listreverseiterator object at 0x101053c10>
reversed(t)  # <reversed object at 0x101053b50>
reversed(d)  # TypeError: argument to reversed() must be a sequence
reversed(s)  # <reversed object at 0x101053c10>

print(reversed(l))  
print(reversed(t))  
print(reversed(s))  
-------------------------------------------------
# result
<list_reverseiterator object at 0x0000019540D7A130>
<reversed object at 0x0000019540D7A130>
<reversed object at 0x0000019540D7A130>

 

 

속성값이 나오로 변환된 값을 출력하고 싶을 때는 아래와 같이 작성해주시면 됩니다.

l = ['a', 'b', 'c']
t = ('a', 'b', 'c')
s = 'abc'

list_1 = list(reversed(l))  # ['c', 'b', 'a']
tuple_1 = tuple(reversed(t))  # ('c', 'b', 'a')
string = str(reversed(s))
string_list = list(reversed(s))
string_tuple = tuple(reversed(s))

print(list_1)
print(tuple_1)
print(string)
print(string_list)
print(string_tuple)

-------------------------------------------------
# result

['c', 'b', 'a']
('c', 'b', 'a')
<reversed object at 0x000002E2699BA130>
['c', 'b', 'a']
('c', 'b', 'a')

 

 

 

지금까지 글을 읽어주셔서 감사합니다!

Comments