Img profile default
e.d
  • 2016.3.29 21:31
  • 조회수 328
  • 답변수 1
Img profile default
e.d
  • 2016.3.29 21:31
  • 조회수 328
  • 답변수 1

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 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.3.29 22:29

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

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

답변 쓰기

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