숫자로 구성된 리스트에 join 함수를 사용했더니 'TypeError: sequence item 0: expected str instance, int found' 에러가 발생했다.
에러를 읽어보니 문자열인 경우만 join 함수 사용이 가능한 것 같다.
map 함수를 사용하면 리스트의 각 요소를 원하는 함수의 수행 결과로 바꿀 수 있다.
map 함수의 리턴값은 오브젝트여서 리턴값을 확인하려면 list로 형변환 시켜주어야 했다.
>>> num_list = [4, 9, 16, 25, 36]
>>> map_result = map(str, num_list)
>>> map_result
<map object at 0x10d86d4a8>
>>> list(map_result)
['4', '9', '16', '25', '36']
어쨌든, join 함수까지 적용시켜주면 다음과 같은 결과물을 얻을 수 있다.
>>> num_list = [4, 9, 16, 25, 36]
>>> str_num_list = ", ".join(map(str, num_list))
>>> str_num_list
'4, 9, 16, 25, 36'
(추가)
단순히 integer인 리스트의 요소를 string으로 바꿔주고 싶다면 리스트 컴프리헨션을 사용해도 된다.
>>> num_list = [4, 9, 16, 25, 36]
>>> str_num_list_lc = [str(n) for n in num_list]
>>> str_num_list_map = list(map(str, num_list))
>>> str_num_list_lc
['4', '9', '16', '25', '36']
>>> str_num_list_map
['4', '9', '16', '25', '36']
참고자료1 : https://wikidocs.net/32#map
참고자료2 : https://wikidocs.net/22805
'Python3.6' 카테고리의 다른 글
XML 문서에 Processing Instruction 추가하기 (0) | 2020.01.23 |
---|---|
XML 문서에 주석 달기 (0) | 2020.01.23 |
알파벳에서 발음 구별 기호(Diacritic, Accent Mark) 분리하기 (0) | 2019.10.01 |
문자열에 리스트 요소 포함 여부 확인 (0) | 2019.09.20 |
2차원 배열(list) 중복 제거 (0) | 2019.09.19 |