프로그래밍/기타

RuntimeError: dictionary changed size during iteration

2jun0 2022. 10. 21. 17:54

⚒RuntimeError: dictionary changed size during iteration

아래와 같은 코드를 돌리다가 위와 같은 오류가 발생했다.
키값을 순회하다 키가 사라져서 생기는 문제다.

graph = {1: 2, 2: 3}
for key in graph.keys():
    if graph[key] == 2:
        del graph[key]

✔해결법

다음과 같이 key를 list로 할당해놓고 삭제하면 해결된다. (items()도 가능하다)

graph = {1: 2, 2: 3}
for key in list(graph.keys()):
    if graph[key] == 2:
        del graph[key]