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

如何使用max()方法从嵌套列表中提取最大价格

如何用max()方法从嵌套列表中提取最大价格?

我懂你想把原来的循环代码简化,直接用max()方法拿到嵌套列表里的最大价格对吧?核心就是要告诉max()函数只关注每个子元素的第二个值,这时候就得用到max()的key参数啦。

先看你原来的循环写法,逻辑是完全没问题的:

maxPrice = 0
for item in cont["price_usd"]:
    if(item[1] > maxPrice):
        maxPrice = (item[1])
print(maxPrice)

用max()简化的话,只需要给它指定一个比较的“规则”——用lambda表达式作为key,告诉函数以每个子列表的第二个元素作为比较依据:

一行搞定的简洁写法

max_price = max(cont["price_usd"], key=lambda x: x[1])[1]
print(max_price)

分步拆解更易懂

如果觉得一行代码有点绕,可以拆成两步看,逻辑更清晰:

# 先拿到包含最高价格的完整子列表
max_item = max(cont["price_usd"], key=lambda item: item[1])
# 再从这个子列表里提取价格(也就是第二个元素)
max_price = max_item[1]
print(max_price)

为什么你之前的写法不生效?

你之前直接写max(list)的话,Python默认会按子列表的第一个元素(也就是amount_coins)来做比较,只有当第一个元素相等时才会去看第二个元素,这完全不符合你要找最大价格的需求,所以必须通过key参数明确指定比较的依据。

内容的提问来源于stack exchange,提问作者j.doe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:18:44