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

如何基于第二个元素优雅过滤Python二维数组?

Python 优雅过滤元组列表(基于第二个元素)

问题描述

给定由元组组成的列表:

array = [('aaa', 20), ('bbb', 30), ('ccc', 40), ('ddd', 50)]

需要过滤出第二个元素大于等于40的元组,预期结果:

filtered_array =  [('ccc', 40), ('ddd', 50)]

希望找到比普通循环更优雅的实现方式。

解决方案

列表推导式(推荐)

这是Python中最简洁直观的写法,一行代码完成过滤,可读性和执行效率都很出色:

array = [('aaa', 20), ('bbb', 30), ('ccc', 40), ('ddd', 50)]
filtered_array = [item for item in array if item[1] >= 40]

运行后filtered_array就会得到预期的结果。

filter() 函数配合lambda

如果偏好函数式写法,可以用filter()结合匿名函数,最后转成列表:

filtered_array = list(filter(lambda x: x[1] >= 40, array))

这种方式也能实现需求,但列表推导式在日常开发中更常用,语法更贴近自然语言,理解成本更低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 14:15:42