gpt4 book ai didi

python - 如何通过函数将字典中的多个键与一个值配对?

转载 作者:行者123 更新时间:2023-12-02 18:29:56 24 4
gpt4 key购买 nike

我遇到以下问题,但我不知道该怎么办。有人可以帮忙吗???

“您正在举办一个聚会,并希望将具有相似兴趣的人配对。您已经收集了每位客人最感兴趣的数据像这样的字典:

interests = { 'Sophia' : 'Computer', 'Anders' : 'Dancing', 'Mette' :'Dancing', 'Hikari' : 'Computer', 'Riko' : 'Rowing', 'Troels' :'Rowing', 'Sarah' : 'Rowing' }

为了能够在聚会上快速建议主题,您需要将其转换为字典转换为不同的布局。

你的任务是编写一个以参数为参数的函数transform_dictionary一个字典,例如上面的字典,并返回一个字典,其中每个键都是一个兴趣,值是所有共享此兴趣的人的列表兴趣。例如,对于上面的列表,返回的字典是(忽略元素的特定顺序)

我需要打印:

{'Computer': ['Sophia', 'Hikari'], 'Dancing': ['Anders', 'Mette'], 'Rowing': ['Riko', 'Troels', 'Sarah']}

这是我到目前为止所拥有的:

    interests = {
'Sophia' : 'Computer',
'Anders' : 'Dancing',
'Mette' : 'Dancing',
'Hikari' : 'Computer',
'Riko' : 'Rowing',
'Troels' : 'Rowing',
'Sarah' : 'Rowing'
}

# comvert dictionary into a different layout.

def transform_dictionary(interests):
new_dict = {}
key_list = []

for k, v in new_dict:
if value in new_dict:
new_dict[value] = k
return {}


print(transform_dictionary(interests))

最佳答案

您可以使用collections.defaultdict(list)然后只使用 append 如下所示:

from collections import defaultdict
dct = defaultdict(list)

for k,v in interests.items():
dct[v].append(k)

输出:

{'Computer': ['Sophia', 'Hikari'],
'Dancing': ['Anders', 'Mette'],
'Rowing': ['Riko', 'Troels', 'Sarah']}

关于python - 如何通过函数将字典中的多个键与一个值配对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69555219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com