반복 사전이 기본 항목을 안전하게 수정할 수 있나요?
iteritems()를 사용하여 Python 사전을 순회할 때 사전 수정으로 인해 예상치 못한 결과가 발생할 수 있습니다. 결과. 항목(예: del d[f(k)])을 제거하면 "RuntimeError: 반복 중에 사전 변경 크기"가 발생할 수 있습니다.
공식 문서:
에 따르면 Python 문서에서는 반복 중에 사전을 수정해서는 안 됩니다. iteritems() 메서드는 사전의 키 및 값 복사본을 반복하지만 기본 사전 자체는 반복하지 않습니다. 따라서 사전에 대한 직접적인 수정(예: 항목 삭제 또는 추가)은 반복자에 반영되지 않습니다.
안전 수칙:
이 문제를 방지하려면, 문서에서는 d.copy().items()를 사용하여 반복하기 전에 사전의 독립적인 복사본을 만들 것을 제안합니다. 또는 키 목록을 반복하고 루프 내에서 del d[key] 또는 d[key] = newValue를 사용할 수 있습니다.
부분 수정:
동안 새 키에 항목을 추가하면 문제가 발생할 수 있으므로 기존 값을 수정하는 것은 일반적으로 안전합니다. 그러나 기존 키의 값을 수정하면 해시 값이 변경되어 잠재적으로 사전에서의 위치에 영향을 미칠 수 있습니다.
위 내용은 Python에서 `iteritems()`를 사용하여 반복하는 동안 사전을 안전하게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!