> 백엔드 개발 > 파이썬 튜토리얼 > Python 사전을 생성할 때 중복 키를 어떻게 처리합니까?

Python 사전을 생성할 때 중복 키를 어떻게 처리합니까?

DDD
풀어 주다: 2024-12-28 16:34:10
원래의
678명이 탐색했습니다.

How Do I Handle Duplicate Keys When Creating a Python Dictionary?

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
...
EDF768, Jenny Meyer, 9987, Vet_Parking
TY5678, Jo King, 8987, AgHort_Parking
로그인 후 복사

등록 번호가 키인 사전을 생성하려고 합니다. 각 줄의 데이터는 값입니다. 그러나 표준 사전 구문을 사용하면 중복 키가 발견될 때 이전 값을 새 값으로 덮어씁니다.

해결책:

중복 키를 처리하려면 한 가지 일반적인 해결 방법이 있습니다. 컬렉션 모듈의 defaultdict를 사용하는 것입니다.

from collections import defaultdict

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

중복 키에 단일 값을 할당하는 대신 해당 키와 관련된 목록에 새 값을 추가합니다.

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

이렇게 하면 각 키가 값 목록에 해당하는 사전이 생성됩니다. 예:

data_dict = {
    'EDF768': [
        ('Bill Meyer', '2456', 'Vet_Parking'),
        ('Jenny Meyer', '9987', 'Vet_Parking'),
    ],
    'TY5678': [
        ('Jane Miller', '8987', 'AgHort_Parking'),
        ('Jo King', '8987', 'AgHort_Parking'),
    ],
    ...
}
로그인 후 복사

이렇게 하면 사전의 해당 목록에 액세스하여 특정 등록 번호와 관련된 모든 데이터에 액세스할 수 있습니다.

위 내용은 Python 사전을 생성할 때 중복 키를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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