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

如何按固定长度(如10个)分块打印Python列表元素?

解决列表分块打印的问题

你这段代码重复打印1-10的原因很直观:内层循环里直接调用liste[j],完全没用到外层循环的i变量——每次内层循环都从列表的第0个元素开始取,自然只会输出前10个元素。

要实现按每10个元素分块打印,有两种实用的解决方式:

方法一:用Python切片(推荐,更简洁Pythonic)

切片是Python处理子列表最便捷的方式,直接通过起始和结束索引获取每一块:

liste = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
# 外层循环每次跳10个索引,i是每个块的起始位置
for i in range(0, len(liste), 10):
    # 切片获取从i到i+10的子列表,即使最后一块不足10个也能正确处理
    chunk = liste[i:i+10]
    # 将子列表元素转为字符串,用逗号连接后打印
    print(','.join(map(str, chunk)))

运行后就能得到你想要的输出:

1,2,3,4,5,6,7,8,9,10
11,12,13,14,15,16,17,18,19,20

方法二:修正你的嵌套循环写法

如果你想保留原来的嵌套循环结构,只需要调整内层循环的索引计算,同时加上越界判断:

liste = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
for i in range(0, len(liste), 10):
    chunk_elements = []
    for j in range(10):
        # 计算当前元素的真实索引:起始位置i加上偏移j
        current_index = i + j
        # 防止索引超出列表长度(比如列表总长度不是10的倍数时)
        if current_index >= len(liste):
            break
        chunk_elements.append(str(liste[current_index]))
    print(','.join(chunk_elements))

这种方式和切片的效果一致,但代码相对繁琐一些,适合用来理解分块的底层逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:24:40