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

如何用Python内置函数min()/max()获取嵌套列表的最值

问题与解决方法

给定嵌套列表:

a = [['a', 20], ['b', 36], ['c', 1], ['d', 8], ['e', 55]]

要求使用Python内置函数min()或max()输出最小值/最大值,结果形式可为['e' , 55]或55。

原代码问题分析

你尝试的代码存在以下问题:

  • x[1]是整数类型,调用字符串方法isdigit()会触发AttributeError,整数没有该方法
  • 循环中q仅保留最后一个遍历到的x[1],最终max(q)是对单个整数求最大值,完全不符合需求

正确实现方法

1. 获取包含对应键的完整元素(如['e', 55])

利用max()/min()的key参数,指定按子列表的第二个元素进行比较:

a = [['a', 20], ['b', 36], ['c', 1], ['d', 8], ['e', 55]]
# 取最大值对应的完整元素
max_item = max(a, key=lambda x: x[1])
print(max_item)  # 输出: ['e', 55]

# 取最小值对应的完整元素
min_item = min(a, key=lambda x: x[1])
print(min_item)  # 输出: ['c', 1]

2. 仅获取数值(如55)

直接遍历提取所有子列表的第二个元素,传入max()/min():

a = [['a', 20], ['b', 36], ['c', 1], ['d', 8], ['e', 55]]
# 取最大值
max_value = max(x[1] for x in a)
print(max_value)  # 输出: 55

# 取最小值
min_value = min(x[1] for x in a)
print(min_value)  # 输出: 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:55:00