>백엔드 개발 >파이썬 튜토리얼 >중복 키가 있는 Python 사전을 값 목록에 병합하려면 어떻게 해야 합니까?

중복 키가 있는 Python 사전을 값 목록에 병합하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-10 07:16:16496검색

How Can I Merge Python Dictionaries with Duplicate Keys into Lists of Values?

Python에서 중복 키가 있는 사전 병합

Python에서는 여러 사전을 처리하는 것이 어려울 수 있으며, 특히 사전 병합이 필요할 경우 더욱 그렇습니다. 사전이 중복 키를 공유할 때 일반적인 문제가 발생하며, 목표는 이러한 키와 관련된 모든 값을 단일 목록으로 수집하는 것입니다.

해결책: defaultdict

이를 효율적으로 처리하기 위해 강력한 Python 컬렉션 모듈의 defaultdict라는 도구가 작동합니다. 사전에 존재하지 않는 모든 키에 대해 기본값(이 경우 빈 목록)을 생성할 수 있습니다.

다음 예를 고려하세요.

d1 = {1: 2, 3: 4}
d2 = {1: 6, 3: 7}

병합하려면 일치하는 키에서 값을 수집하는 이러한 사전에서는 다음과 같이 defaultdict를 사용할 수 있습니다.

from collections import defaultdict

dd = defaultdict(list)

for d in (d1, d2): # loop through all input dictionaries
    for key, value in d.items():
        dd[key].append(value)
    
print(dd) # result: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})

여기서 코드:

  • defaultdict(list)를 사용하여 빈 defaultdict를 만듭니다.
  • 각 입력 사전 d를 반복합니다.
  • 각 키-값 쌍에 대해 사전에 있는 키와 관련된 목록에 값을 추가합니다.
  • 결과는 키가 병합된 키를 나타내는 defaultdict입니다. 모든 사전과 값은 해당 값을 모두 포함하는 목록입니다.

이 솔루션은 여러 사전에서 일치하는 키와 관련된 모든 값을 효율적으로 수집하여 중복 키를 처리하는 깔끔하고 다양한 방법을 제공합니다.

위 내용은 중복 키가 있는 Python 사전을 값 목록에 병합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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