Python 2의 `dict.items()` 메소드와 `dict.iteritems()` 메소드의 주요 차이점은 무엇입니까?

DDD
풀어 주다: 2024-11-14 18:52:02
원래의
443명이 탐색했습니다.

What is the key difference between Python 2's `dict.items()` and `dict.iteritems()` methods?

Python 2에서 dict.items()와 dict.iteritems()의 차이점 이해

질문에서 언급했듯이, Python 2에는 사전에서 키-값 쌍을 검색하는 두 가지 방법이 있습니다: dict.items() 및 dict.iteritems(). 제공한 출력에서는 동일한 개체에 대한 참조를 반환한다고 나와 있지만 주목해야 할 중요한 차이점이 있습니다.

두 메서드의 주요 차이점은 반환 값에 있습니다. dict.items()는 사전의 (키, 값) 쌍 목록 복사본을 반환합니다. 이는 원래 사전에 대한 변경 사항이 dict.items()에서 반환된 복사본에 반영되지 않음을 의미합니다. 반면에 dict.iteritems()는 사전의 (키, 값) 쌍을 순회하는 반복자를 반환합니다. 복사본을 생성하지 않지만 대신 쌍을 반복하는 방법을 제공합니다.

dict.items()가 복사본을 반환하는 이유는 효율성을 위한 것입니다. 이전 버전의 Python에서는 dict.items()를 사용하여 사전의 항목을 반복하면 각 반복마다 새 목록이 생성됩니다. 이는 특히 큰 사전의 경우 시간이 많이 걸리는 프로세스입니다. 복사본을 반환함으로써 dict.items()는 여러 목록을 만들 필요가 없으므로 작업의 시간 복잡성이 줄어듭니다.

귀하의 예에서는 dict.items() 및 dict.iteritems()가 모두 다음과 같은 것으로 나타납니다. 쌍을 반복하고 원래 사전의 값과 비교하기 때문에 동일한 객체에 대한 참조를 반환합니다. 그러나 사전을 변경하는 경우 dict.items()는 업데이트된 목록을 반환하는 반면 dict.iteritems()는 원래 쌍을 계속 반복합니다.

요약하자면 dict .items()는 사전의 (키, 값) 쌍의 복사본을 반환하는 반면 dict.iteritems()는 쌍에 대한 반복자를 반환합니다. 두 가지 방법 중 선택은 복사본이 필요한지 반복자가 필요한지에 따라 달라집니다. Python 3에서는 dict.items()가 뷰를 반환하도록 발전하여 dict.iteritems()가 필요하지 않게 되었습니다.

위 내용은 Python 2의 `dict.items()` 메소드와 `dict.iteritems()` 메소드의 주요 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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