Получить рейтинг с наибольшим значением в словаре python - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть словарь с некоторыми фильмами. Я хочу знать, что является самым высоким рейтингом (cijfer), и вывести заголовок и рейтинг на экран. Смотрите словарь для получения дополнительной информации. Я не могу найти подсказку, кто-то может мне помочь?

movies = [{"titel": "The Godfather", "jaar": 1972, "cijfer": 9.2, "regisseur": "Francis Ford Coppola"},
      {"titel": "The Shawshank Redemption", "jaar": 1994, "cijfer": 9.3, "regisseur": "Frank Darabont"},
      {"titel": "Schindler's List", "jaar": 1993, "cijfer": 8.9, "regisseur": "Steven Spielberg"},
      {"titel": "Raging Bull", "jaar": 1980, "cijfer": 8.2, "regisseur": "Martin Scorsese"},
      {"titel": "Casablanca", "jaar": 1942, "cijfer": 8.5, "regisseur": "Michael Curtiz"}]''' 

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Использование max(..., key=...):

best_movie = max(movies, key=lambda m: m["cijfer"])
print(best_movie["titel"], best_movie["cijfer"])
0 голосов
/ 09 апреля 2020

Я предполагаю, что вы не очень опытны с Python, если вы спрашиваете об этом, поэтому я делюсь "нестабильным" способом сделать это для начинающего.

max_rating = 0
idx_best_rating = 0
    for index, movie in enumerate(movies):
        if movie['cijfer'] >= max_rating:
            idx_best_rating = index
            max_rating = movie['cijfer']
best = movies[idx_best_rating]

Более чистый способ:

best = max(movies, key=lambda movie: movie["cijfer"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...