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

Python中如何在不改变嵌套列表结构的情况下填充空列表

填充嵌套列表中的空列表(保持原结构)

针对你的需求,这里有几种简单的实现方式,都能在不改变原有嵌套结构的前提下完成空列表的填充:

方法1:列表推导式(简洁高效)

直接遍历原列表的每个子列表,空列表替换为包含指定值的列表,非空列表原样保留:

lst = [[1,3], [], [2,2,4], [], [3,5]]
# 填充为[0],保持子列表类型
filled_lst = [sub if sub else [0] for sub in lst]
print(filled_lst)  # 输出: [[1, 3], [0], [2, 2, 4], [0], [3, 5]]

如果需要自定义填充值,把[0]换成[你的目标值]即可,比如填充9就写[9]。

方法2:原地修改原列表

如果不想创建新列表,直接修改原列表的空元素:

lst = [[1,3], [], [2,2,4], [], [3,5]]
fill_value = 0
for idx in range(len(lst)):
    if not lst[idx]:  # 判断子列表是否为空
        lst[idx] = [fill_value]
print(lst)  # 输出: [[1, 3], [0], [2, 2, 4], [0], [3, 5]]

特殊情况:将空列表替换为单个值

如果你希望把空列表直接换成单个值(而非子列表),可以调整写法,但注意这会改变部分元素的类型:

filled_lst = [sub if sub else 0 for sub in lst]
print(filled_lst)  # 输出: [[1, 3], 0, [2, 2, 4], 0, [3, 5]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:26:06