> 백엔드 개발 > 파이썬 튜토리얼 > Python의 `defaultdict` 대 일반 `dict`: 언제 어느 것을 사용해야 합니까?

Python의 `defaultdict` 대 일반 `dict`: 언제 어느 것을 사용해야 합니까?

DDD
풀어 주다: 2024-12-07 16:36:12
원래의
700명이 탐색했습니다.

`defaultdict` vs. Regular `dict` in Python: When Should You Use Which?

Collections.defaultdict와 Regular Dict: 구별 이해

누락된 키에 대해 KeyError를 발생시키는 기존 Python 사전과 달리 defaultdict는 다음을 제공합니다. 독특한 반전. 사용자 정의 "호출 가능" 객체에 의해 결정된 기본값으로 존재하지 않는 키를 자동으로 초기화합니다. 기능을 완전히 이해하기 위해 구문과 메커니즘을 자세히 살펴보겠습니다.

질문에 제공된 첫 번째 예에서:

>>> from collections import defaultdict

>>> s = 'mississippi'
>>> d = defaultdict(int)
>>> for k in s:
...     d[k] += 1
...
>>> d.items()
dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])
로그인 후 복사

defaultdict를 사용하고 int를 호출 가능 개체로 지정합니다. 문자열 s를 반복할 때 defaultdict는 int()를 호출하여 자동으로 누락된 키를 생성합니다. 이 함수는 0으로 초기화된 정수 개체를 반환합니다. 결과적으로 s의 모든 문자는 결과 사전 d의 키가 되며 해당 값은 발생 빈도가 됩니다.

두 번째 예에서:

>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
...     d[k].append(v)
...
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
로그인 후 복사

defaultdict를 다시 사용하고 목록을 호출 가능한 객체로 전달합니다. 이번에는 list()를 사용하여 존재하지 않는 키를 초기화합니다. 튜플 목록을 반복할 때 defaultdict는 각 고유 색상이 키로 표시되도록 보장합니다. 해당 값은 각 색상의 출현 빈도를 저장하는 목록입니다.

defaultdict를 활용하면 키가 누락된 사전에서 편리하게 작업하여 잠재적인 KeyError 예외를 방지하고 코드를 단순화할 수 있습니다.

위 내용은 Python의 `defaultdict` 대 일반 `dict`: 언제 어느 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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