순서가 지정된 기본 사전 구현
순서가 지정된 기본 사전은 Python의 컬렉션 모듈에 있는 OrderedDict와 defaultdict의 기능을 결합합니다. 이를 달성하려면 아래와 같이 DefaultOrderedDict 클래스를 활용할 수 있습니다.
<code class="python">from collections import OrderedDict, Callable class DefaultOrderedDict(OrderedDict): def __init__(self, default_factory=None, *a, **kw): if (default_factory is not None and not isinstance(default_factory, Callable)): raise TypeError('first argument must be callable') OrderedDict.__init__(self, *a, **kw) self.default_factory = default_factory def __getitem__(self, key): try: return OrderedDict.__getitem__(self, key) except KeyError: return self.__missing__(key) def __missing__(self, key): if self.default_factory is None: raise KeyError(key) self[key] = value = self.default_factory() return value # ... (remaining implementation omitted for brevity)</code>
이 클래스는 키-값 쌍의 순서를 유지하는 OrderedDict와 기본값을 제공하는 defaultdict의 이점을 모두 제공합니다. 존재하지 않는 키에 대한 값입니다. 원래 순서를 유지하면서 요소에 액세스하고 수정할 수 있습니다.
위 내용은 Python에서 순서가 지정된 기본 사전을 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!