将表格分成 9 个

Spliting tables into 9's

我想知道如何将我的 table 拆分为 9 的子table。

示例:

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

代码应return:

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

你觉得这是怎么做到的?

您的代码似乎过于复杂。任务是每9个元素创建一个子表。下面的代码就是这样做的:

a={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }
b={}
j=0
k=9

for i=1,#a do
    if k==9 then j=j+1; b[j]={}; k=0 end
    k=k+1
    b[j][k]=a[i]
end

此处,j 跟踪创建的子表数,k 跟踪添加到子表的元素数。当k变为9时,创建一个新的子表。 k 从 9 开始表示。