You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python从电影字典列表中获取最高评分影片信息的方法

如何找出电影列表中评分最高的影片?

嘿,这个问题其实很容易解决,Python里的max()函数刚好能帮上大忙!咱们直接看解决方案:

基础解决方案(找出单部最高分影片)

首先,我们可以利用max()函数的key参数,指定按照字典里的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"}
]

# 找出评分最高的电影字典
top_movie = max(movies, key=lambda movie: movie["cijfer"])

# 打印标题和评分
print(f"评分最高的影片:{top_movie['titel']},评分:{top_movie['cijfer']}")

运行这段代码后,输出会是:

评分最高的影片:The Shawshank Redemption,评分:9.3

补充:如果有多部影片评分相同怎么办?

如果你的列表里存在多部评分并列最高的电影,上面的方法只会返回其中一部。要是想找出所有最高分影片,可以这样做:

# 先拿到最高评分值
highest_rating = max(movie["cijfer"] for movie in movies)

# 筛选出所有评分等于最高分的电影
top_movies = [movie for movie in movies if movie["cijfer"] == highest_rating]

# 遍历打印结果
print("评分最高的影片有:")
for movie in top_movies:
    print(f"- {movie['titel']},评分:{movie['cijfer']}")

简单解释一下

  • max(movies, key=lambda movie: movie["cijfer"]):这里的lambda是一个匿名函数,告诉max()函数,每个电影的比较依据是它的cijfer字段值。
  • 列表推导式[movie for movie in movies if movie["cijfer"] == highest_rating]:遍历整个电影列表,把所有评分等于最高分的电影筛选出来。

这样就能轻松解决你的问题啦!

内容的提问来源于stack exchange,提问作者Matthijs Abma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 09:18:13