"런타임 오류: 반복 중에 사전 변경 크기" 오류 방지
다음과 같이 사전을 반복하는 동안 사전을 수정하려고 시도합니다. 아래 코드 조각은 "RuntimeError: 반복 중에 사전 크기가 변경되었습니다." 오류를 유발할 수 있습니다:
d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]}
for i in d:
if not d[i]:
d.pop(i)
이 제한을 극복하기 위해 다양한 접근 방식을 사용할 수 있습니다:
Python 2.x 및 3.x:
'list':
for i in list(d):
Python 3.x(이상):
'collections.OrderedDict' 사용:
from collections import OrderedDict
for i in OrderedDict(d):
대체 솔루션:
new_d = {}
for key, value in d.items():
if value:
new_d[key] = value
keys_to_pop = list(d)
for i in keys_to_pop:
if not d[i]:
d.popitem(i)
이러한 기술을 활용하면 Python에서 사전을 처리할 때 "RuntimeError: 반복 중에 사전 변경 크기" 오류를 피할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3