我的问题是如何使用max函数在字典中找到最大值。你知道吗
我创建了一个如下所示的词典:
cc_GDP = {'af': 1243738953, 'as': 343435646, etc}
我希望能够简单地找到并打印每个国家的最高GDP值。你知道吗
阅读类似问题后,我的最佳尝试如下所示(我目前正在阅读Python速成课程手册,在这本书中学习了这段代码的基础,请注意get\u country\u code函数只是为GDP\u data json文件中的国家提供了两个字母的缩写):
#Load the data into a list
filename = 'gdp_data.json'
with open(filename) as f:
gdp_data = json.load(f)
cc_GDP` = {}
for gdp_dict in gdp_data:
if gdp_dict['Year'] == 2016:
country_name = gdp_dict['Country Name']
GDP_total = int(gdp_dict['Value'])
code = get_country_code(country_name)
if code:
cc_GDP[code] = int(GDP_total)
print(max(cc_GDP, key=lambda key: cc_GDP[key][1]))
这提供了以下错误'TypeError: 'int' object is not subscriptable'
注意:如果在print函数中省略[1],这将提供与最高值相关的最高键,但不会返回我希望实现的最高值本身。你知道吗
任何帮助都将不胜感激。你知道吗
这样怎么样:
这将给你最高的价值,但不是关键。你知道吗
这个错误是因为你需要查看整个字典,而不仅仅是一个条目。删除
[1]
,然后使用以下行:您的代码当前只返回字典键。你需要把这把钥匙插回字典里才能得到GDP。你知道吗
因此,您当前使用此行提取具有最高值的国家/地区的密钥:
你当然可以再查字典:
但更简单的是,完全忽略键,只需找到字典中所有值中的最高值:
相关问题 更多 >
编程相关推荐