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

如何将多行含空列表的变量合并为单个包含所有非空元素的列表

解决方法:合并列表并消除空列表

嘿,这个需求很容易实现,我给你分享几个实用的方法:

方法1:基础循环遍历

先把所有需要处理的子列表集中起来,然后通过循环跳过空列表,把非空列表的元素添加到目标列表里:

# 把所有你的子列表放到一个集合里
sublists = [['Channels', ':'], [], ['AN1', 'AN2'], [], ['10v', '0.01V'], []]
l = []
for sublist in sublists:
    if sublist:  # 判断子列表非空,空列表在布尔判断里是False
        l.extend(sublist)

执行后l就会变成你想要的['Channels',':','AN1','AN2','10v', '0.01V']

方法2:简洁的列表推导式

用嵌套列表推导式可以一行搞定,逻辑和循环一致,但写法更紧凑:

sublists = [['Channels', ':'], [], ['AN1', 'AN2'], [], ['10v', '0.01V'], []]
l = [item for sublist in sublists for item in sublist]

这里空列表里没有元素可以遍历,所以会被自动跳过,直接生成合并后的列表。

方法3:高效的itertools工具

如果你的子列表数量很多,用itertools.chain会更高效,它能直接串联所有子列表的元素:

from itertools import chain

sublists = [['Channels', ':'], [], ['AN1', 'AN2'], [], ['10v', '0.01V'], []]
l = list(chain.from_iterable(sublists))

chain.from_iterable会遍历每个子列表的元素,空列表不会产生任何输出,最终转换成列表就是你要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:49:06