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 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
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.