> 백엔드 개발 > 파이썬 튜토리얼 > Python의 `defaultdict`는 사전의 중복 키를 어떻게 처리할 수 있나요?

Python의 `defaultdict`는 사전의 중복 키를 어떻게 처리할 수 있나요?

Susan Sarandon
풀어 주다: 2024-12-21 03:11:10
원래의
621명이 탐색했습니다.

How Can Python's `defaultdict` Handle Duplicate Keys in Dictionaries?

Python 사전의 중복 키 극복

Python에서 사전은 고유 키를 연관된 값에 매핑하는 데이터 구조입니다. 하지만 데이터에서 중복된 키가 발견되면 어떻게 될까요?

중복된 ​​자동차 등록 번호와 다음과 같은 관련 정보가 포함된 텍스트 파일을 고려해 보세요.

EDF768, Bill Meyer, 2456, Vet_Parking
TY5678, Jane Miller, 8987, AgHort_Parking
GEF123, Jill Black, 3456, Creche_Parking
ABC234, Fred Greenside, 2345, AgHort_Parking
...
로그인 후 복사

사전을 만들고 싶을 수도 있습니다. 등록 번호를 키로, 데이터를 값으로 사용합니다. 그러나 단순히 dict[key] = 값 할당을 사용하면 중복 키와 관련된 기존 값을 덮어씁니다.

해결책: defaultdict

컬렉션 모듈에서 Python의 defaultdict를 사용하면 다음을 수행할 수 있습니다. 이 한계를 극복하기 위해. 지정되지 않은 키에 대한 기본값을 제공하는 dict의 하위 클래스입니다.

이를 사용하려면 다음을

data_dict = {}
로그인 후 복사

다음으로 바꾸세요.

from collections import defaultdict
data_dict = defaultdict(list)
로그인 후 복사

이제 대신 값을 직접 할당하려면 추가() 메서드를 사용하세요.

data_dict[regNumber].append(details)
로그인 후 복사

이렇게 하면 연관된 값 목록이 생성됩니다. 각 중복 키를 사용하여 해당 키와 관련된 모든 데이터를 효과적으로 저장합니다.

예:

다음 코드는 defaultdict를 사용하여 샘플 데이터에서 사전을 생성합니다.

from collections import defaultdict

data_dict = defaultdict(list)

for line in data_list:
    regNumber = line[0]
    # ... (rest of the code unchanged)
    data_dict[regNumber].append(details)
로그인 후 복사

이렇게 하면 각 등록 번호(키)가 관련 데이터(값) 목록에 매핑되는 사전이 생성됩니다.

위 내용은 Python의 `defaultdict`는 사전의 중복 키를 어떻게 처리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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