본문으로 건너뛰기

파이썬에서는 딕셔너리를 값에 따라 여러 개의 딕셔너리로 분할할 수 있습니다. 이는 딕셔너리의 데이터를 특정 기준에 따라 그룹화하고자 할 때 유용합니다. 다음은 이를 달성하는 방법에 대한 단계별 튜토리얼입니다.

단계 1: 딕셔너리 생성하기

먼저, 이 튜토리얼 전체에서 사용할 샘플 딕셔너리를 생성해보겠습니다. 이 딕셔너리는 값에 따라 분할하는 데 사용될 키-값 쌍을 포함할 것입니다.

my_dict = {
'apple': 10,
'banana': 12,
'orange': 9,
'grape': 10,
'kiwi': 12,
'pineapple': 9
}

단계 2: 각 값에 대한 빈 딕셔너리 초기화하기

다음으로, 원래의 딕셔너리에 있는 고유한 값마다 빈 딕셔너리를 초기화해야 합니다. 이를 위해 set() 함수를 사용하여 딕셔너리에서 고유한 값을 얻을 것입니다.

unique_values = set(my_dict.values())
split_dicts = {value: {} for value in unique_values}

이 예제에서 split_dicts 딕셔너리는 my_dict에서 고유한 값들을 키로, 그에 해당하는 빈 딕셔너리들을 값으로 갖게 됩니다.

단계 3: 원래의 딕셔너리 순회하기

이제, 원래의 딕셔너리를 순회하고 각 키-값 쌍을 해당 값에 따라 적절한 분할된 딕셔너리에 할당해야 합니다.

for key, value in my_dict.items():
split_dicts[value][key] = value

이 코드는 키-값 쌍을 해당 값에 따라 분할된 딕셔너리에 할당합니다.

단계 4: 분할된 딕셔너리 출력하기

마지막으로, 각 분할된 딕셔너리를 출력하여 결과를 확인할 수 있습니다.

for value, split_dict in split_dicts.items():
print(f"값이 {value}인 딕셔너리: {split_dict}")

이 코드는 각 분할된 딕셔너리와 해당하는 값과 함께 따로 출력합니다.

전체 예제

my_dict = {
'apple': 10,
'banana': 12,
'orange': 9,
'grape': 10,
'kiwi': 12,
'pineapple': 9
}

unique_values = set(my_dict.values())
split_dicts = {value: {} for value in unique_values}

for key, value in my_dict.items():
split_dicts[value][key] = value

for value, split_dict in split_dicts.items():
print(f"값이 {value}인 딕셔너리: {split_dict}")

출력

위 코드의 출력은 다음과 같습니다:

값이 10인 딕셔너리: {'apple': 10, 'grape': 10}
값이 12인 딕셔너리: {'banana': 12, 'kiwi': 12}
값이 9인 딕셔너리: {'orange': 9, 'pineapple': 9}

원래의 딕셔너리가 값에 따라 세 개의 별도 딕셔너리로 분할되었습니다. 각 분할된 딕셔너리는 원래의 딕셔너리와 일치하는 특정 값에 해당하는 키와 값들을 포함합니다.

그것으로 끝났습니다! 파이썬 딕셔너리를 값에 따라 여러 개의 딕셔너리로 분할하는 데 성공했습니다.