a = [1, 2, 3, 4] Show 파이썬에서 리스트 안의 숫자 요소들을 문자로 변경하려면 어떻게 해야할까요? 저는 위와 같은 리스트를 다음과 같은 리스트로 바꾸고 싶은 것입니다. 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에 마지막으로 수정되었습니다.) 파이썬에서 List의 모든 요소들을 하나의 문자열 객체로 변환하는 방법을 소개합니다. for loop를 이용하여 리스트를 문자열로 변환하는 코드를 구현할 수 있습니다.
Output:
2. String.join()으로 리스트의 모든 요소들을 하나의 문자열로 변환
Output:
3. join()으로 숫자가 포함된 리스트를 문자열로 변환리스트가 문자열로만 구성되어있지 않고 숫자가 포함되었을 때, 위의 코드는 실행 중에 exception이 발생합니다. 다음 코드는 숫자를 문자열로 변환하고,
Output: 4. map()으로 숫자가 포함된 리스트를 문자열로 변환다음 코드는
Output: References
codechachaCopyright ©2019 codechacha 숫자열(int) 리스트를 문자열(str)로 변환하거나, 반대로 문자열(str) 리스트를 숫자열(int)로 변환하는 방법은 다음과 같습니다.
map() 함수를 활용해주세요~ 저작자표시비영리변경금지 'python' 카테고리의 다른 글
|