Today Sangmin Learned
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로 씌워주면 된다.

profile

Today Sangmin Learned

@steadily-worked

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!