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

如何筛选嵌套列表中首个元素小于10000的子列表

Python嵌套列表按首元素筛选的正确写法及索引逻辑说明

问题核心

你要筛选嵌套列表中首元素小于10000的子列表,但代码写法有误,核心是没搞清楚嵌套列表的遍历和索引逻辑。

嵌套列表索引与遍历逻辑

原始嵌套列表里的每一项都是独立的子列表,比如[7000, '2009-09-23']:

  • 用变量item指代每个子列表时,item[0]就是子列表的第一个元素(数字部分,比如7000),item[1]是对应的日期字符串;
  • 遍历嵌套列表时,循环变量要指向整个子列表,而不是子列表里的单个元素。

正确代码实现

# 原始嵌套列表
newList = [[7000, '2009-09-23'],
           [200000, '2019-09-23'],
           [100, '2004-01-30']]

# 筛选首元素小于10000的子列表
filtered = [item for item in newList if item[0] < 10000]
print(filtered)

运行后输出:

[[7000, '2009-09-23'], [100, '2004-01-30']]

原有代码的错误点

你写的filtered = [x[0][0] for x[0][0] in newList if x[0][0]<10000]存在两个关键问题:

  1. 循环变量不能是x[0][0]这种索引表达式,必须是合法的变量名(比如x);
  2. x[0][0]试图取子列表首元素的首元素,但子列表首元素是数字,数字没有索引属性,运行会直接报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 08:09:22