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

Python 2D列表如何切片以移除全空字符串子列表及其后所有内容

Python 2D列表移除首个全空子列表及后续内容的实现方法

你可以通过遍历匹配首个全空子列表的索引+切片的方式实现,代码非常简洁:

基础实现(确认列表中一定存在全空子列表时使用)

# 示例输入列表
my_list = [
  ["9743", "user3"],
  ["435", "user2"],
  ["5426", "user8"],
  ["", ""],
  ["9743", "user9"]
]

# 一行完成筛选
filtered_list = my_list[:next(idx for idx, sub_list in enumerate(my_list) if all(item == "" for item in sub_list))]

输出结果为:
[["9743", "user3"], ["435", "user2"], ["5426", "user8"]]

兼容无全空子列表的场景

如果不能确定列表中一定存在全空子列表,可以给next方法加默认值避免抛出停止迭代异常:

# 未匹配到全空子列表时默认返回整个原列表
filtered_list = my_list[:next((idx for idx, sub_list in enumerate(my_list) if all(item == "" for item in sub_list)), len(my_list))]

逻辑说明

  • 用enumerate遍历列表时同步获取子列表的索引和内容
  • 用all(item == "" for item in sub_list)判断子列表是否所有元素均为空字符串
  • 用next()直接取第一个符合条件的索引,无需遍历整个列表,执行效率更高
  • 用列表切片直接截取该索引之前的所有内容即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:54:02