강의로 돌아가기
-

2단계 중 1단계 질문입니다.

def check_and_clear(box):
for key in box:
if '불량품' == key:
box.clear()
else:
print(불량품이 있으면 box를 clear합니다.)

box = {'하나':1,
'둘':2,
'불량품':3,
}

a = check_and_clear(box)

print (a)

이라고 실행을 하니
아래와 같은 에러가 나왔습니다. ^ ;

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

도움 부탁드립니다.

1 개의 답변
정두식_

for문을 도는 기준인 box를 for문 안에서 수정하기 때문에 발생하는 에러입니다.

box.keys()는 키들로 구성된 리스트인데요. 이 리스트에 불량품이 있는지를 확인하면 됩니다.

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