2021-04-12 09:40:23

a = [1, 2, 3, 4]

 

파이썬에서 리스트 안의 숫자 요소들을 문자로 변경하려면 어떻게 해야할까요? 저는 위와 같은 리스트를 다음과 같은 리스트로 바꾸고 싶은 것입니다.

 

a = ['1', '2', '3', '4']

 

한 가지 생각해볼 수 있는 방법은 숫자 요소들을 str() 함수(숫자를 문자로 바꿔주는 함수)에 넣어줘서 하나씩 문자로 바꾸는 것입니다. 그러려면 for 문을 사용하던가 해야겠죠. 조금 번거롭습니다. 

 

좀 더 나은 방법이 있습니다. map() 함수를 사용하는 것입니다. map() 함수의 사용법은 다음과 같습니다. 

 

map(함수명, 리스트)

 

map() 함수는 list, tuple 등과 같이 반복 가능한(iterable) 객체의 요소들 각각에 어떠한 처리를 할 수 있도록 해줍니다. 따라서, 

 

map(str, a)

 

와 같이 코딩해주면 a의 요소들을 문자형으로 모두 바꿔줄 것입니다. 그런데 map() 함수는 반환값으로 map 객체를 반환하기 때문에 리스트의 형태가 되게 하려면 반환값을 list() 함수에 넣어줘야 합니다. 

 

list(map(str, a))

 

 

관련 글

[python] 숫자 여러 개 한 번에 입력받기, input(), split(), map() 함수

 

참고자료

[1] www.geeksforgeeks.org/python-map-function/, GeeksforGeeks, "Python map() function"

 

 

(이 글은 2021-4-13에 마지막으로 수정되었습니다.)