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

如何在Python中自动为二维数组添加内层数组以容纳超出元素

解决方案

方法1:计算所需组数后循环填充

先根据data的长度自动计算需要多少个内层数组(用(len(data) + 7) // 8实现向上取整,因为每组最多8个元素,8-1=7),再循环填充每个分组:

category_list = []
data = ['Category0', 'Category1', 'Category2', 'Category3', 'Category4', 
         'Category5', 'Category6', 'Category7', 'Category8', 'Category9',
         'Category10']

# 自动计算需要的分组数
total_groups = (len(data) + 7) // 8
for i in range(total_groups):
    start = i * 8
    end = start + 8
    category_list.append(data[start:end])

运行后输出:

[
 ['Category0', 'Category1', 'Category2', 'Category3', 'Category4', 'Category5', 'Category6', 'Category7'],
 ['Category8', 'Category9', 'Category10']
]

方法2:用列表推导式简化代码

如果想更紧凑,一行代码就能完成分组逻辑,和方法1原理完全一致:

category_list = [data[i*8 : (i+1)*8] for i in range((len(data)+7)//8)]

方法3:迭代器逐段截取(适合大数据量)

如果data是超大数据集,用迭代器逐段截取可以避免一次性生成全量切片,节省内存:

from itertools import islice

category_list = []
data_iter = iter(data)
while True:
    group = list(islice(data_iter, 8))
    if not group:
        break
    category_list.append(group)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 12:10:36