Seongwon Lim

[Python] map() 함수를 통해 리스트 데이터 타입 변환하기 본문

Python

[Python] map() 함수를 통해 리스트 데이터 타입 변환하기

limsw 2022. 7. 14. 16:31
반응형

서론

이번 글에서는 파이썬에서 제공하는 내장 함수 map()을 이용해서 리스트 안에 있는 원소들의 데이터 타입을 변환하는 방법을 알아본다.

map() 함수를 이용하면 리스트 내 원소들의 데이터 타입을 간편하게 바꿀 수 있다.

 

map() 함수의 특징은 다음과 같다.

  • map(function, iterator) 형식으로 사용할 수 있다.
  • function에는 변환하고자 하는 데이터 타입을 정의한다. ex) int, str
  • iterator에는 변환할 객체를 정의한다. ex) 리스트, 문자열

숫자로 이루어진 문자열을 숫자 하나씩 정수로 바꾸어 리스트에 추가하는 경우

첫번째로 살펴볼 방법은 map() 함수를 사용하지 않고, 반복문을 이용하여 정수로 바꾼 데이터를 리스트에 추가하려면 다음과 같이 코드를 작성할 수 있다.

num = "112453"
num_list = []

for i in num:
    num_list.append(int(i))

print(num_list) # [1, 1, 2, 4, 5, 3]

코드 자체는 간단하지만 map() 함수를 이용하면 더욱 짧은 코드로 구현이 가능하다.

map() 함수를 사용하여 구현하는 방법은 다음과 같다.

num = "112453"

num_list = list(map(int, num))
print(num_list) # [1, 1, 2, 4, 5, 3]

리스트 내 요소들이 문자열 타입의 숫자로 이루어진 경우

이번에도 map() 함수 없이 리스트 내 요소들을 정수로 변환하려면 다음과 같이 코드를 구현할 수 있다.

num_list = ["1", "1", "2", "4", "5", "3"]

num_list = [int(i) for i in num_list]
print(num_list) # [1, 1, 2, 4, 5, 3]

map() 함수를 사용하면 다음과 같이 코드를 구현할 수 있다.

num_list = ["1", "1", "2", "4", "5", "3"]

num_list = list(map(int, num_list))
print(num_list) # [1, 1, 2, 4, 5, 3]

 

정수 타입의 요소들을 문자열로 바꾸기

이번에는 반대로 정수 → 문자열로 데이터 타입을 변환하는 방법을 살펴보자.

 

map() 함수를 사용하지 않으면 다음과 같이 코드를 구현할 수 있다.

num_list = [1, 1, 2, 4, 5, 3]

num_list = [str(i) for i in num_list]
print(num_list) # ['1', '1', '2', '4', '5', '3']

map() 함수를 사용한 코드는 다음과 같다.

num_list = [1, 1, 2, 4, 5, 3]

num_list = list(map(str, num_list))
print(num_list) # ['1', '1', '2', '4', '5', '3']

 

Comments