> 백엔드 개발 > 파이썬 튜토리얼 > \'런타임 오류: 반복 중에 사전 크기가 변경됨\'을 방지하는 방법은 무엇입니까?

\'런타임 오류: 반복 중에 사전 크기가 변경됨\'을 방지하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-04 10:01:30
원래의
342명이 탐색했습니다.

How to Avoid

"RuntimeError: 반복 중에 사전 크기가 변경됨" 방지

사전을 반복하는 동안 사전을 수정하려고 하면 " RuntimeError: 반복 중에 사전 크기가 변경되었습니다." 오류가 발생했습니다. 이는 반복하는 동안 사전의 크기를 수정(항목 추가 또는 제거)하면 반복자가 무효화되기 때문에 발생합니다.

이 문제를 해결하기 위해 권장되는 접근 방식은 list() 또는 iterate를 사용하여 사전 키의 복사본을 생성하는 것입니다. d.keys()를 통해 키를 덮어씁니다. Python 3.x의 경우 d.keys()는 뷰 객체를 반환하므로 list()를 사용하여 명시적인 복사본을 생성해야 합니다.

예를 들어 다음 사전을 고려하세요.

<code class="python">d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]}</code>
로그인 후 복사

빈 목록이 있는 키-값 쌍을 제거하려면 다음 코드를 사용할 수 있습니다.

<code class="python">for i in list(d):  # Python 3.x
# or
for i in d.keys():  # Python 2.x
    if not d[i]:
        d.pop(i)</code>
로그인 후 복사

list()를 사용하여 키 복사본을 생성하면 반복 중에 사전 크기를 수정하는 문제를 방지할 수 있습니다. 루프가 성공적으로 완료되었는지 확인하세요.

위 내용은 \'런타임 오류: 반복 중에 사전 크기가 변경됨\'을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿