ㅅㅇ
[python] RuntimeError: deque mutated during iteration. 본문
SW_STUDY/TroubleShooting
[python] RuntimeError: deque mutated during iteration.
SO__OS 2022. 6. 10. 00:17
아래 코드를 작성하다가 본 오류가 발생하였다.
for i in jdays:
if cnt < i:
break
c += 1
jdays.popleft()
오류가 뜨는 이유는
deque가 반복문을 돌릴 때 deque의 내용이 변질되거나 사이즈가 변경될 때 뜨는 오류다.
해결법은 새로 담아주면 된다.
(1) list에 담아 리스트로 새로 만들기
for i in list(jdays):
if cnt < i:
break
c += 1
jdays.popleft()
(2) copy를 사용하여 복사본으로 사용하기
- 모듈을 import 해줘야 함. import copy
import copy
for i in copy.deepcopy(jdays):
if cnt < i:
break
c += 1
jdays.popleft()
'SW_STUDY > TroubleShooting' 카테고리의 다른 글
[pandas/python] query 사용 시 _ TypeError: unhashable type: 'Series' (0) | 2022.06.10 |
---|