본문 바로가기
⌨️ Programming Language/🐍 Python

[Error] cannot unpack non-iterable int object

by DyuAA 2025. 5. 14.

deque를 이용하던 중 이런 메시지를 마주했다...

 

뭐라고예...?

cannot unpack non-iterable int object
→ 반복 불가능한 정수(int)를 언팩하려고 할 수 없다!

 

코드에 다음과 같이 작성했었다

x, y = queue.popleft()

이건 queue.popleft()가 튜플(예: (0, 0))을 반환하길 기대하고 두 변수에 나눠 담은 거다.

 

queue = deque([0, 0])  # ❌ 여기가 잘못된 부분이다

근데 이건 그냥 queue 에 정수 0들어가 있는 상태다.

 

deque([0, 0])
# queue = [0, 0] 랑 동일한 구조임

그래서 queue.popleft() 하면 0이 나온다.
그런데 그 0은 정수형(int)이라서 x, y = 0을 하려니까
“int는 언팩할 수 없음!” 라는 에러가 뜬 것이다.

 

올바르게 하려면~

queue = deque([(0, 0)])

이건 queue 안에 튜플이 하나 들어 있음 ㅋ

 

deque([(0, 0)])
# queue = [(0, 0)]

그래서 x, y = queue.popleft() 하면 x=0, y=0으로 언팩 가능!

'⌨️ Programming Language > 🐍 Python' 카테고리의 다른 글

집합 (Set)  (0) 2025.04.17
딕셔너리 (Dictionary)  (0) 2025.04.16
튜플 (Tuple)  (0) 2025.04.16