TypeError 수정: Python에서 Iterable에만 조인할 수 있음

Manav Narula 2023년6월21일
TypeError 수정: Python에서 Iterable에만 조인할 수 있음

문자열, 목록, 튜플 및 기타 유사한 객체는 종종 파이썬에서 이터러블이라고 합니다. 인덱스를 사용하여 참조할 수 있는 유한한 수의 요소가 포함되어 있기 때문입니다. 간단한 for 루프를 사용하여 이러한 객체를 반복할 수 있습니다.

이러한 이터러블과 함께 작동하는 편리한 함수는 join() 함수입니다. 이 함수는 iterable의 요소를 단일 문자열로 결합할 수 있으며 함수를 사용하여 문자열의 요소 구분 기호를 지정할 수 있습니다.

이 튜토리얼에서는 Python의 TypeError: can only join an iterable 오류에 대해 설명합니다.

Python에서 TypeError: can only join an iterable 수정

TypeError이므로 지원되지 않는 작업이 주어진 개체에서 수행되고 있다고 결론을 내릴 수 있습니다. 이 오류는 join() 함수를 사용하여 지원되지 않는 개체 유형의 요소를 결합하려고 할 때 발생합니다.

예를 들어,

a = 456
s = "".join(a)
print(s)

출력:

TypeError: can only join an iterable

위의 예에서 join() 함수를 정수와 함께 사용하려고 했고 이 오류가 발생했습니다.

이 오류에 대한 수정은 간단합니다. 반복 가능한 유효한 데이터 유형만 사용하세요.

iterable이 포함된 join() 함수의 매우 간단한 예가 아래에 나와 있습니다.

a = ["4", "5", "6"]
s = "".join(a)
print(s)

출력:

456

join() 함수는 문자열을 반환하므로 iterable의 요소도 문자열이어야 합니다. 그렇지 않으면 새 오류가 발생합니다.

iterable로 작업하는 동안 can only join an iterable 오류가 발생하는 경우가 있습니다.

예를 들어,

a = ["4", "5", "6"]
b = a.reverse()
s = "".join(b)
print(s)

출력:

TypeError: can only join an iterable

위의 예는 reverse() 함수가 원래 목록의 요소 순서를 뒤집기 때문에 오류를 발생시킵니다. 새 목록을 만들지 않습니다.

따라서 위의 예에서 객체 b 값은 None입니다. 그렇기 때문에 오류가 발생합니다.

이러한 경우 join() 함수에 전달된 최종 객체에 유의하십시오. 새 목록을 반환하는 reversed() 메서드를 사용하여 위의 예를 수정할 수 있습니다.

아래 코드를 참조하십시오.

a = ["4", "5", "6"]
b = reversed(a)
s = "".join(b)
print(s)

출력:

654

reversed() 메서드는 새 목록을 반환하므로 위의 예에서 오류가 발생하지 않았습니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python Error