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

如何高效查找嵌套列表中索引1位置的最小值及对应键?

嘿,这个需求其实用Python内置的min()函数就能优雅解决,而且效率拉满——毕竟内置函数都是底层优化过的,比自己写循环靠谱多了!

先假设你的数据集是字典结构(毕竟你提到了“对应的键”),比如像这样:

data = {
    'user_1': [123, 45],
    'user_2': [456, 23],
    'user_3': [789, 56]
}

核心代码就一行,直接定位到最小值对应的键值对:

# 用lambda指定比较的是子列表索引1的位置
min_pair = min(data.items(), key=lambda item: item[1][1])
min_key = min_pair[0]
min_value = min_pair[1][1]

print(f"找到啦:最小数值是 {min_value},对应的键是 {min_key}")

为什么这是最优解?

  • 时间复杂度是O(n),只需要遍历一遍所有元素,这已经是理论上的最优了(毕竟找最小值不可能不看所有元素)。
  • 代码简洁易读,不用写繁琐的循环和临时变量,维护起来超方便。

特殊情况处理

如果你的数据不是字典,而是分开的键列表和值列表,也可以用zip()打包后处理:

keys = ['user_1', 'user_2', 'user_3']
values = [[123,45], [456,23], [789,56]]

min_pair = min(zip(keys, values), key=lambda x: x[1][1])

要是有多个相同的最小值,想要把所有对应的键都找出来,可以这样:

# 先拿到最小数值
min_val = min(v[1] for v in data.values())
# 筛选出所有符合条件的键值对
all_min_pairs = [(k, v[1]) for k, v in data.items() if v[1] == min_val]

这样不管数据量多大,都能高效搞定~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:06:45