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

Python中如何移除嵌套列表(列表的列表)内的所有0值元素

移除嵌套列表中的0值元素实现方案

问题描述

需要对两层嵌套的坐标列表做清洗,剔除所有值为0的冗余元素,保留所有坐标元组,且不改变原有坐标的排列顺序。

原始输入

coord = [[(1.0, 1.0), (4.0, 2.0), 0, 0, 0, 0, (1.0, 5.0), 0, 0, (3.0, 3.0)], [(1.0, 1.0), (4.0, 2.0), 0, 0, 0, 0, (1.0, 5.0), 0, 0, (3.0, 3.0)]]

期望输出

[[(1.0, 1.0), (4.0, 2.0), (1.0, 5.0), (3.0, 3.0)], [(1.0, 1.0), (4.0, 2.0), (1.0, 5.0), (3.0, 3.0)]]

实现代码

直接使用两层列表推导式遍历过滤即可,代码简洁可读性强:

# 原始嵌套列表
coord = [[(1.0, 1.0), (4.0, 2.0), 0, 0, 0, 0, (1.0, 5.0), 0, 0, (3.0, 3.0)], [(1.0, 1.0), (4.0, 2.0), 0, 0, 0, 0, (1.0, 5.0), 0, 0, (3.0, 3.0)]]

# 过滤所有0值元素
coord = [[element for element in sublist if element != 0] for sublist in coord]

逻辑说明

  • 外层推导式遍历最外层列表的每一个子坐标组
  • 内层推导式遍历单个子组内的所有元素,判断元素值不等于0时才保留
  • 处理过程不会改变原有坐标元组的先后顺序,输出结果和预期完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:48:17