Img profile default
문혜성
  • 2016.6.10 17:32
  • 조회수 225
  • 답변수 1
Img profile default
문혜성
  • 2016.6.10 17:32
  • 조회수 225
  • 답변수 1

2단계중 1단계 질문 드립니다

Traceback:
, in
, in check_and_clear
RuntimeError: dictionary changed size during iteration

이와같은 에러가 나오는데 무엇이 잘못되었나요?

dict_and_list_1
def check_and_clear(box):
    print("불량품이 있으면 box를 clear합니다.")
    for key in box.keys():
        if key =="불량품":
            box.clear()
        else: 
            print(box)
  • #파이썬 입문
  • #리스트와 비교 - 실습

1 답변

  • G3rlasealonpd5c2kica
    Demi
    • 2016.6.10 19:25

    RuntimeError: dictionary changed size during iteration는 딕셔너리에 이터레이션을 도는 중, 딕셔너리의 크기가 바꼈을 때 발생하는 에러입니다.

    for문을 도는 중 box.clear()를 하셨네요.
    box.clear()후 for문을 종료하는 코드를 만들시던가, 아니면 for문을 돌지 않고 불량품이 있는지 없는지 검사하는 코드를 짜셔야 합니다.

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.