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

Python如何按指定长度分割列表为子列表并单独存放剩余元素

Python 按指定长度分割列表实现

需求是将给定列表拆分为多个指定长度的子列表,末尾长度不足的剩余元素单独组成一个子列表,示例效果如下:

  • 初始列表:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  • 分割规则:每个子列表长度为3
  • 期望输出:[[1,2,3],[4,5,6],[7,8,9],[10,11]]

可直接复用的实现代码

不需要安装任何第三方库,用Python原生语法即可实现:

def split_list(input_list: list, chunk_size: int) -> list[list]:
    if chunk_size <= 0:
        raise ValueError("分割后的子列表长度必须是正整数")
    return [input_list[i:i+chunk_size] for i in range(0, len(input_list), chunk_size)]

测试验证

运行以下测试代码即可复现示例效果:

if __name__ == "__main__":
    origin_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    res = split_list(origin_list, 3)
    print(res)

控制台输出:

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]

补充说明

  • 代码核心利用Python列表切片的原生特性:当切片结束索引超出列表实际长度时,不会抛出索引越界错误,会自动截取到列表末尾元素,天然适配最后一段长度不足的场景,不需要额外编写边界判断逻辑,代码简洁高效。
  • 该实现生成的子列表为原列表的浅拷贝,如果原列表中存储的是字典、自定义类实例等可变对象,修改子列表内的元素会同步影响原列表对应元素,需要数据完全隔离的场景可以搭配copy.deepcopy实现深拷贝处理。
  • 函数内置了基础参数校验,避免传入非正整数的分割长度导致逻辑异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:09:26