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

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

DDD
DDD원래의
2024-12-28 16:34:10712검색

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

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