수수께끼의 "Frozen Dict" 공개
파이썬의 사전은 데이터를 저장하는 다양한 방법을 제공합니다. 그러나 불변 버전의 사전이 필요한 상황이 발생할 수 있습니다. "동결된 사전"이라는 가상 개념을 입력하세요.
고정 세트가 세트의 불변 버전이고 튜플이 목록의 불변 버전인 것과 마찬가지로 고정 사전은 다음에 대한 불변의 대응물을 제공합니다. 변경 가능한 사전. 키-값 기능을 유지하고 해시 가능성을 제공하며 반복, 키 액세스 및 동등성 검사와 같은 일반적인 작업을 지원해야 합니다.
Python에 내장된 Frozendict 유형이 없는 상황에서 개발자는 대체 솔루션을 모색해 왔습니다. 한 가지 접근 방식은 답변에 제공된 코드에서 예시된 대로 사용자 정의 래퍼 클래스를 생성하는 것입니다.
이 래퍼 클래스는 dict의 동작을 모방하여 반복, 항목 검색 및 해싱을 위한 메서드를 구현합니다. 해시 함수는 일관된 개체 비교를 보장하기 위해 모든 키-값 쌍을 통합합니다.
래퍼를 사용하면 고정 사전을 일반 사전처럼 생성하고 활용할 수 있습니다.
>>> x = FrozenDict(a=1, b=2)
>>> y = FrozenDict(a=1, b=2)
>>> x is y
False
>>> x == y
True
이 클래스의 객체는 불변성과 해시 가능성을 모두 나타내므로 효율적인 조회 및 저장이 가능합니다. 코드 예제에서 볼 수 있듯이 다른 사전의 키로 비교하고 사용할 수 있어 실용성을 보여줍니다.
Python의 핵심 라이브러리에는 기본적으로 존재하지 않지만 고정 사전의 개념은 사용자 정의 래퍼를 통해 실현될 수 있습니다. 클래스는 개발자에게 변경 가능한 사전에 대한 편리하고 변경 불가능한 대안을 제공합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3