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 중국어 웹사이트의 기타 관련 기사를 참조하세요!