hgk0404
hgk0404.tistory
hgk0404

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [컴퓨터비전]
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev] N
      • [가상환경] N
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [자격증, 일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404

hgk0404.tistory

[Python]

[Python] .reverse()함수와 reversed()함수의 차이

2022. 7. 18. 04:00
728x90

1. reverse()함수

 

reverse함수는 리스트타입에서 제공하는 함수입니다. 따라서 반환값이 없고 단순히 리스트를 뒤집어주는 역할을 합니다.

따라서 리스트에서만 사용이 가능하고 튜플과 딕셔너리, 문자열에서는 사용할 수 없습니다.

 

my_list = [ 1, 2, 3, 4 ]
my_dict = { 'a' : 1, 'b' : 2, 'c' : 3 }
my_tuple = (1, 2, 3)
my_string = '123'

my_list.reverse() # [ 4, 3, 2, 1 ]
my_dict.reverse() # error
my_tuple.reverse() # error
my_string.reverse() # error

 

반환값이 없기에 변수에 값을 저장해 줄 수 없습니다.

my_list = [ 1, 2, 3, 4 ]
r_list = my_list.reverse()
print(r_list) #1
print(my_list)

 

결과)

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

 

반환값이 없어서 r_list는 출력하면 None이라고 뜨게됩니다.

 

2. reversed함수

 

reversed는 내장함수로 리스트와 함께 문자열, 튜플도 지원합니다.

 

하지만 딕셔너리는 지원하지 않습니다. 

 

my_list = [ 1, 2, 3, 4 ]
my_dict = { 'a' : 1, 'b' : 2, 'c' : 3 }
my_tuple = (1, 2, 3)
my_string = '123'
reversed(my_list)
reversed(my_dict) # error
reversed(my_tuple) 
reversed(my_string)

 

리스트나 튜플, 문자열은 순차적인 타입이므로 가능하지만 딕셔너리는 그렇지 않기 때문에 사용할 수 없습니다.

 

reversed함수는 반환값을 가집니다. 그래서 변수에 값을 저장할 수 있습니다.

 

reversed함수는 reversed 타입을 반환합니다.

 

my_list = [ 1, 2, 3, 4 ]
my_dict = { 'a' : 1, 'b' : 2, 'c' : 3 }
my_tuple = (1, 2, 3)
my_string = '123'

print(reversed(my_list))
print(reversed(my_dict))
print(reversed(my_tuple))
print(reversed(my_string))

 

결과)

<list_reverseiterator object at 0x0000014BB5907B80>
<dict_reversekeyiterator object at 0x000002103E9C6F20>
<reversed object at 0x000001A2D2CE7B80>
<reversed object at 0x0000024C9EA07B80>

 

리스트는 list_reverseiterator를 반환하지만 reversed 타입을 반환하는 튜플, 문자열과 사용법은 같습니다.

 

이렇게 reversed 타입을 반환하기 때문에 원하는 값을 얻기 위해서는 형변환을 한번 더 해주어야 합니다.

 

my_list = [ 1, 2, 3, 4 ]
my_dict = { 'a' : 1, 'b' : 2, 'c' : 3 }
my_tuple = (1, 2, 3)
my_string = '123'
print(list(reversed(my_list)))
print(reversed(my_dict)) # 사용불가
print(tuple(reversed(my_tuple)))
print(''.join(reversed(my_string)))

 

결과)

[4, 3, 2, 1]
<dict_reversekeyiterator object at 0x00000212BDEF6B10>
(3, 2, 1)
321

 

딕셔너리 자료형은 사용할 수 없으므로 바꾸지 않고 놔뒀습니다. 리스트는 list()로 형 변환, 튜플은 tuple()로 형변환을 하지만 문자열은 ''.join()으로 리턴된 reversed object를 하나의 string으로 만들어 줍니다.

 

reversed함수 반복문 활용

my_list = [ 1, 2, 3, 4 ]
for i in list(reversed(my_list)):
    print(i, end=' ')

 

결과)

4 3 2 1

 

반환값이 없는 reverse() 함수와 다르게 반환값이 있는 reversed함수는 반복문에 활용이 가능합니다.

 

 

728x90
저작자표시 동일조건

'[Python]' 카테고리의 다른 글

[Python] f-string을 이용한 문자열 포메팅  (0) 2022.07.22
[Python] 문자열 루프, enumerate함수  (0) 2022.07.19
[Python] math모듈과 ceil함수, floor함수  (0) 2022.07.17
[Python] 2차원 배열과 3차원 배열 작성법  (0) 2022.07.14
[Python] insert연산  (0) 2022.07.13
'[Python]' 카테고리의 다른 글
  • [Python] f-string을 이용한 문자열 포메팅
  • [Python] 문자열 루프, enumerate함수
  • [Python] math모듈과 ceil함수, floor함수
  • [Python] 2차원 배열과 3차원 배열 작성법
hgk0404
hgk0404
공부기록

티스토리툴바