>백엔드 개발 >파이썬 튜토리얼 >Python 사전: 언제 `collections.defaultdict`를 사용해야 합니까?

Python 사전: 언제 `collections.defaultdict`를 사용해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-02 04:39:10135검색

Python Dictionaries: When Should You Use `collections.defaultdict`?

Collections.defaultdict와 Ordinary Dict의 구별

Python에서 기본 사전(collections.defaultdict)은 중요한 방식으로 일반 사전을 사용합니다. 표준 dict는 존재하지 않는 키에 액세스할 때 KeyError를 발생시키는 반면, defaultdict는 지정된 함수를 호출하여 누락된 항목을 자동으로 생성합니다.

예제 이해하기

제공된 예제를 살펴보세요.

d = defaultdict(int)

여기서 int()는 기본 함수입니다. 누락된 키를 정수 값(기본값은 0)으로 초기화합니다.

for k in s:
    d[k] += 1

이 루프는 문자열 s의 각 문자(k)를 반복하고 defaultdict에 저장된 해당 개수를 증가시킵니다.

d.items()
dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])

결과적으로 문자 빈도가 포함된 사전을 얻습니다.

두 번째 예:

d = defaultdict(list)

list()는 누락된 키에 대한 기본값으로 빈 목록을 생성하는 기본 함수입니다.

for k, v in s:
    d[k].append(v)

이 루프는 목록의 키와 값을 쌍으로 연결하고 추가합니다. 값을 해당 키 목록에 추가합니다.

d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]

결과는 키가 색상이고 값이 원본의 해당 값 목록인 사전입니다. 목록.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.