按键记录/列出最大值

2024-05-14 09:27:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下格言:

[{'country': 'Armenia', 'population': '3026048'}, {'country': 'Angola', 'population': '25830958'}, {'country': 'Algeria', 'population': '40375954'}, {'country': 'Andorra', 'population': '69165'}, {'country': 'Anguilla', 'population': '14763'}, {'country': 'American Samoa', 'population': '55602'}, {'country': 'Aruba', 'population': '104263'}, {'country': 'Argentina', 'population': '43847277'}, {'country': 'Afghanistan', 'population': '33369945'}, {'country': 'Azerbaijan', 'population': '9868447'}, {'country': 'Australia', 'population': '24309330'}, {'country': 'Antigua and Barbuda', 'population': '92738'}, {'country': 'Albania', 'population': '2903700'}, {'country': 'Austria', 'population': '8569633'}]

下面的列表

[['Andorra', '69165'], ['Afghanistan', '33369945'], ['Algeria', '40375954'], ['American Samoa', '55602'], ['Aruba', '104263'], ['Armenia', '3026048'], ['Angola', '25830958'], ['Azerbaijan', '9868447'], ['Antigua and Barbuda', '92738'], ['Australia', '24309330'], ['Albania', '2903700'], ['Argentina', '43847277'], ['Anguilla', '14763'], ['Austria', '8569633']]

如何提取人口最多国家的国家名称(每个子列表中的第二个值)

您可以为list或dict提供解决方案


Tags: countrypopulationamericanarubaaustraliaargentinaalgeriaangola
2条回答

您可以将max与键一起使用,对于列表,它将是:

max(lst, key = lambda x: int(x[1]))
# ['Argentina', '43847277']

dict的想法是一样的,但关键功能略有不同:

max(d, key = lambda x: int(x['population']))
# {'country': 'Argentina', 'population': '43847277'}

类似这样的内容(对于列表列表):

pops = []

for small_list in big_list:
    pops.append(int(small_list[1]))

max_value = max(pops)
max_index = pops.index(max_value)

most_pop_country = big_list[max_index][0]
print(most_pop_country)

它基本上找到最大人口的索引,然后为它提取国家名称。你知道吗

相关问题 更多 >

    热门问题