gpt4 book ai didi

python - 如何在另一个字典中的 Python 字典中查找特定项目?

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:20 24 4
gpt4 key购买 nike

假设我有一个 Python 字典,如下所示:

sample_dict = {'Grade': {'Aya':4.0, 'John':3.0, 'Anna':1.0},
'Address': {'Aya':'California', 'John':'Canada', 'Anna':'Mexico'},
'School': 'Harvard University',
'Nationality':{'Aya':'Japanese', 'John':'American', 'Anna':'American'}
}

我很困惑如何操纵代码,我将传递参数以进行搜索例如Aya 它会导致类似下面的结果:

Grade: Aya: 4.0
Address: Aya:California
School: Harvard University
Nationality: Aya: Japanese

更好的是:

Aya
Grade: 4.0
Address: California
School: Harvard University
Nationality: Japanese

这是我的开始:

def get_info(name):
for key, value in sample_dict:
print(name)
if type(value) is dict:
for people, equivalent in value:
if(equivalent[name]):
print key, equivalent[name]
else:
print ("Not Found!")
else:
print key, value[key]

{'Grade': {'John': 3.0, 'Aya': 4.0, 'Anna': 1.0}, 'Nationality': {'John': 'American', 'Aya': 'Japanese', 'Anna': 'American'}, 'School': 'Harvard University', 'Address': {'John': 'Canada', 'Aya': 'California', 'Anna': 'Mexico'}}


ValueError Traceback(最近调用 最后)在() 19 打印键,值[键] 20 ---> 21 get_info('阿雅')

在 get_info(名称) 中 8个 9 def get_info(名称): ---> 键值 10,sample_dict 中的值: 11 打印(姓名) 12 如果类型(值)是字典:

ValueError:要解压的值太多

最佳答案

这里有很多潜在的陷阱,但是没有关于可以对数据做出什么假设的更多详细信息,您可以通过单行字典理解来满足这种特定情况:

{k:(v['Aya'] if 'Aya' in v else v) for k,v in sample_dict.items()}

关于python - 如何在另一个字典中的 Python 字典中查找特定项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42116638/

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