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

Python如何按指定步长循环切分列表?

列表固定步长切分实现方案

1. 最简写法(适合普通长度列表)

直接通过Python原生切片+range步长特性实现,代码简洁易读:

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

# 切分逻辑
chunks = [list_a[i:i+step] for i in range(0, len(list_a), step)]

# 打印结果
for chunk in chunks:
    print(f"print -> {chunk}")

原理说明:

  • range(0, len(list_a), step) 会生成 0、5、10 三个起始索引,正好匹配三个切片的起始位置
  • Python列表切片超出列表总长度时不会抛出异常,会自动截取到列表末尾,完美适配最后一段不足步长的场景

2. 内存优化写法(适合超大长度列表)

如果处理的列表长度极大,不需要一次性生成所有切分块占用内存,可以换成生成器表达式,迭代时才生成对应块:

chunks = (list_a[i:i+step] for i in range(0, len(list_a), step))
for chunk in chunks:
    print(f"print -> {chunk}")

两种写法的运行输出完全符合预期:

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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:48:01