CS/알고리즘
[Python] TypeError: sequence item 0: expected str instance, int found 해결 (int형 list join하기)
steadily-worked
2021. 9. 8. 08:47
728x90
바로 이전 포스팅의 문제를 풀면서 맞닥뜨린 에러에 대해 앞으로도 계속 검색하면서 찾을 것 같아서 그냥 여기에 적어둔다.
int_list = [1, 2, 3, 4, 5, 6, 7]
result = ''.join(int_list)
# TypeError: sequence item 0: expected str instance, int found
int형의 list를 join하려고 보면 이러한 에러가 생긴다. 뜻을 해석하자면 join할 때는 string이 들어가야 하나 int가 들어갔다는 것이다. 이것을 join하고 싶다면 어떻게 해야 할까?
int_list = [1, 2, 3, 4, 5, 6, 7]
result = ''.join(map(str, int_list))
result_to_int = int(''.join(map(str, int_list)))
print(type(result))
print(result)
print(type(result_to_int))
print(result_to_int)
# <class 'str'>
# 1234567
# <class 'int'>
# 1234567
그냥 map 함수를 이용해서 str로 바꿔주면 된다. 그러면 당연히 합쳐진 1234567은 string 형태를 갖게 되는데, 이를 int 형태로 바꾸고 싶다면 그냥 전체를 int로 씌워주면 된다.