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