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

如何不使用numpy.array_split实现Python列表按规则等分切分

实现方案

直接用Python原生列表切片+列表推导式即可实现,不需要依赖任何第三方库:

def split_list(lst, chunk_size):
    # lst: 待切分的原列表
    # chunk_size: 每个分组的元素数量
    return [lst[i:i+chunk_size] for i in range(0, len(lst), chunk_size)]

测试验证

# 测试示例场景
original_list = [8, 3, 4, 1, 5, 9, 6, 7, 2]
print(split_list(original_list, 3))
# 输出:[[8, 3, 4], [1, 5, 9], [6, 7, 2]]

# 测试4元素分2组每组2个
print(split_list([1,2,3,4], 2))
# 输出:[[1, 2], [3, 4]]

# 测试16元素分4组每组4个
list_16 = list(range(1, 17))
print(split_list(list_16, 4))
# 输出:[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

补充说明

如果列表总长度不是chunk_size的整数倍,最后一个分组会自动保留剩余的元素,比如长度为7的列表分3个一组,会返回[[1,2,3], [4,5,6], [7]]。如果不需要不完整的分组,可以修改函数过滤掉长度不足的分组:

def split_list_strict(lst, chunk_size):
    return [lst[i:i+chunk_size] for i in range(0, len(lst), chunk_size) if len(lst[i:i+chunk_size]) == chunk_size]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:15:02