본문 바로가기
파이썬

[Python] TypeError: 'int' object is not iterable 오류 해결하기

by JJONY 2025. 3. 25.
반응형

Python으로 코드를 작성하다 보면, 'TypeError: 'int' object is not iterable'이라는 오류를 마주하는 경우가 있습니다. 이 오류는 리스트, 튜플, 딕셔너리 등 반복 가능한(iterable) 객체가 아닌 정수형(int)을 반복 처리하려고 할 때 발생합니다. 이번 포스팅에서는 이 오류의 원인과 이를 해결하는 방법을 단계별로 설명하겠습니다.


1. 오류 또는 코드 설명

오류 메시지 예시

아래 코드를 실행한다고 가정합니다:

numbers = 1234
for num in numbers:
    print(num)

실행 결과:

TypeError: 'int' object is not iterable

Python에서 정수형 데이터는 반복 가능한 객체가 아니기 때문에 'for' 루프에서 사용될 수 없습니다. 초보자들이 흔히 실수하는 부분입니다.


2. 원인 분석

TypeError: 'int' object is not iterable의 발생 원인

  1. 정수형 데이터를 반복 처리하려고 할 때 발생
  2. 리스트나 문자열과 같은 반복 가능한 객체와 혼동할 때 발생
  3. 함수의 반환값이 숫자임을 인지하지 못할 때 발생

이 오류는 주로 리스트 또는 문자열을 사용해야 할 곳에 실수로 숫자를 전달했을 때 나타납니다.


3. 해결 방법 (500자 이상)

1) 데이터를 리스트 또는 문자열로 변환하기

반복이 필요한 경우, 데이터를 반복 가능한 형식으로 변환해야 합니다.

numbers = '1234'  # 문자열로 변환
for num in numbers:
    print(num)

출력 결과:

1
2
3
4

2) 숫자를 리스트로 감싸기

numbers = [1234]  # 리스트로 감싸기
for num in numbers:
    print(num)

출력 결과:

1234

3) 함수의 반환값 확인하기

반환값이 숫자인 경우에는 반복 작업을 하지 않도록 코드 수정이 필요합니다.


4. 추가 팁 및 참고 사항

  • 함수의 반환값이 정수인지 확인할 것.
  • 반복 가능한 객체의 종류: 리스트, 튜플, 딕셔너리, 문자열 등.
  • type() 함수를 사용하여 데이터 타입을 확인하는 습관을 들이기.

5. 요약 및 마무리

이번 포스팅에서는 'TypeError: 'int' object is not iterable' 오류의 원인과 해결 방법을 알아보았습니다. 이 오류는 주로 숫자를 반복 처리하려 할 때 발생하며, 데이터를 반복 가능한 형태로 변환하거나 함수의 반환값을 확인하여 문제를 해결할 수 있습니다.


6. 관련 글 링크

  • 관련 글: Python에서 리스트와 딕셔너리의 차이점과 사용법 정리하기
반응형

댓글