"RuntimeError:dictionaryChanged size while iteration" 오류에 대한 해결 방법
"RuntimeError: dictionarychange size while iteration" 오류가 발생하는 시나리오를 고려해보세요. 목록 사전의 빈 값을 기반으로 키-값 쌍을 제거하려고 할 때 "반복"이 발생합니다. 아래 코드는 오류의 예입니다.
<code class="python">d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]} for i in d: if not d[i]: d.pop(i)</code>
이 오류는 반복 중에 사전을 수정(항목 추가 또는 제거)하면 예기치 않은 동작이 발생한다는 규칙에서 발생합니다. 이러한 제한을 피하고 문제를 성공적으로 해결하려면 다음 접근 방식을 채택할 수 있습니다.
키 복사본 사용
Python은 문제를 해결하는 깔끔한 방법을 제공합니다. 반복 제한:
<code class="python">for i in list(d):</code>
키 목록을 생성하면 기본적으로 사전 키의 복사본이 생성됩니다. 이를 통해 사전 자체를 변경하는 동안 복사본을 반복할 수 있습니다.
.keys() 메서드 사용(Python 2.x에만 해당)
Python 2 .x에서 .keys() 메서드는 유사한 기능을 제공하여 효과적으로 키 복사본을 생성했습니다.
<code class="python">for i in d.keys():</code>
그러나 Python 3.x에서 .keys()는 다음을 반환한다는 점에 유의하는 것이 중요합니다. 개체를 보면 해결 방법이 적용되지 않습니다.
위 내용은 빈 값을 기반으로 키를 제거할 때 \"RuntimeError: Dictionary selected size while iteration\" 오류를 해결하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!