딕셔너리 값 결합

Beginner

This tutorial is from open-source community. Access the source code

소개

딕셔너리는 Python 의 기본적인 자료 구조이며, 키 - 값 쌍을 저장하는 데 사용됩니다. 때로는 두 개 이상의 딕셔너리의 값을 단일 딕셔너리로 결합해야 할 수 있습니다. 이 챌린지에서는 두 개 이상의 딕셔너리를 인수로 받아 입력 딕셔너리의 값을 결합한 새로운 딕셔너리를 반환하는 함수를 작성합니다.

딕셔너리 값 결합

두 개 이상의 딕셔너리를 인수로 받아 입력 딕셔너리의 값을 결합한 새로운 딕셔너리를 반환하는 함수 combine_values(*dicts)를 작성하십시오. 이 함수는 다음 단계를 수행해야 합니다.

  1. 각 키에 대한 기본값으로 list를 사용하는 새로운 collections.defaultdict를 생성합니다.
  2. 입력 딕셔너리를 반복하고 각 딕셔너리에 대해 다음을 수행합니다.
    • 딕셔너리의 키를 반복합니다.
    • 해당 키의 값 목록에 해당 키의 값을 defaultdict에 추가합니다.
  3. dict() 함수를 사용하여 defaultdict를 일반 딕셔너리로 변환합니다.
  4. 결과 딕셔너리를 반환합니다.

함수는 다음과 같은 시그니처를 가져야 합니다.

def combine_values(*dicts):
    pass
from collections import defaultdict

def combine_values(*dicts):
  res = defaultdict(list)
  for d in dicts:
    for key in d:
      res[key].append(d[key])
  return dict(res)
d1 = {'a': 1, 'b': 'foo', 'c': 400}
d2 = {'a': 3, 'b': 200, 'd': 400}

combine_values(d1, d2) ## {'a': [1, 3], 'b': ['foo', 200], 'c': [400], 'd': [400]}

요약

이 챌린지에서는 두 개 이상의 딕셔너리의 값을 단일 딕셔너리로 결합하는 방법을 배웠습니다. 두 개 이상의 딕셔너리를 인수로 받아 입력 딕셔너리의 값을 결합한 새로운 딕셔너리를 반환하는 함수를 작성했습니다.