"RuntimeError: 사전이 반복 중에 크기가 변경됨" 오류 방지
다음에서 볼 수 있듯이 사전을 반복하는 동안 사전을 수정하려고 합니다. 아래의 코드 조각은 "RuntimeError: 반복 중에 사전 변경 크기" 오류를 유발할 수 있습니다.
<code class="python">d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]} for i in d: if not d[i]: d.pop(i)</code>
이 제한을 극복하기 위해 다양한 접근법을 사용할 수 있습니다:
Python 2. x 및 3.x:
'list'를 사용하여 키 복사본 강제 적용:
<code class="python">for i in list(d):</code>
Python 3.x(이상):
'collections.OrderedDict' 사용:
<code class="python">from collections import OrderedDict for i in OrderedDict(d):</code>
대체 솔루션:
<code class="python">new_d = {} for key, value in d.items(): if value: new_d[key] = value</code>
<code class="python">keys_to_pop = list(d) for i in keys_to_pop: if not d[i]: d.popitem(i)</code>
이러한 기술을 활용하면 Python에서 사전을 처리할 때 "RuntimeError: 반복 중에 사전 크기가 변경되었습니다." 오류가 발생했습니다.
위 내용은 Python에서 \'RuntimeError: 반복 중에 사전 크기가 변경됨\'을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!