Я хотел бы определить функцию в Python, которая возвращает максимальное значение вычисляемой переменной в списке объектов.Сначала я создал класс и определил новую переменную для расчета среднего ВВП на душу населения в тысячах (self.percapita = 1000 * self.gdp / self.population):
class Country():
def __init__(self, name, population, gdp) :
self.name = name
self.population = population
self.gdp = gdp
self.percapita = 1000 * self.gdp / self.population
Я вхожу в списокслучаи:
unitedstates = Country("unitedstates", 326766748, 19390600)
china = Country("china", 1415045928 , 12014610)
japan = Country("japan", 127185332, 4872135)
list = [unitedstates, china, japan]
Мне нужна ваша помощь, чтобы создать функцию, которая возвращает страну с самым высоким percapita и кортеж, который содержит название страны и значение percapita:
def highest_percapita(list) :
IЗнайте, что следующий код генерирует желаемые выходные данные, но мне нужно создать вышеупомянутую функцию:
from operator import attrgetter
highest_percapita = max(list, key=attrgetter('percapita'))
print(highest_percapita.name)
print(highest_percapita.name, highest_percapita.percapita)
Спасибо!