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

Python如何为嵌套列表中的各子列表补全对应数量的0?

Python实现嵌套列表补0对齐到最长子列表长度

实现思路

  • 第一步计算所有子列表的最大长度,作为对齐的基准长度
  • 第二步遍历每个子列表,在末尾补充对应数量的0,让所有子列表长度等于最大长度

代码实现

方式1:生成新列表(不修改原数据)

# 原嵌套列表
original_list = [
    [0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0],
    [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],
    [1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0],
    [1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0],
    [1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0],
    [1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],
    [0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0]
]

# 计算最长子列表长度
max_length = max(len(sublist) for sublist in original_list)

# 生成补0后的新列表
aligned_list = [sublist + [0] * (max_length - len(sublist)) for sublist in original_list]

# 打印验证结果
for item in aligned_list:
    print(item)

方式2:原地修改原列表

如果不需要保留原数据,可以直接修改原列表的每个子列表,节省内存:

max_length = max(len(sublist) for sublist in original_list)
for sublist in original_list:
    sublist.extend([0] * (max_length - len(sublist)))

输出验证

运行后得到的结果和目标格式完全一致,所有子列表长度都对齐到最长的21位,末尾不足的位置补0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:06:03