如何用for循环创建多维数组?遍历1-10每3个元素生成子数组
解决方案:用for循环分组创建多维数组
没问题,这其实是个很常见的数组分组需求,我给你两种常用语言的实现思路和代码,你可以根据自己用的语言来选:
JavaScript 实现
核心思路是维护一个临时子数组,每添加3个元素就把它推入大数组,然后重置临时数组继续:
const result = []; let tempArr = []; // 遍历1到9(匹配你的目标结果,如果你确实要包含10,后面我会说怎么调整) for (let i = 1; i <= 9; i++) { tempArr.push(i); // 当临时数组长度达到3时,加入结果并重置 if (tempArr.length === 3) { result.push(tempArr); tempArr = []; } } console.log(result); // 输出 [[1, 2, 3], [4,5,6], [7,8,9]]
如果你的需求真的是遍历1到10,那最后会多一个[10],你可以在循环结束后加个判断:如果tempArr不为空,就把它也推入结果数组。
Python 实现
思路和JS一致,用临时列表来分组:
result = [] temp_list = [] for i in range(1, 10): # range(1,10)生成1-9的数字,要包含10就改成range(1,11) temp_list.append(i) if len(temp_list) == 3: result.append(temp_list) temp_list = [] print(result) # 输出 [[1, 2, 3], [4,5,6], [7,8,9]]
另外,如果你不想用临时数组,也可以通过索引计算直接分组(虽然不算纯for循环,但代码更简洁):
result = [] for i in range(0, 9, 3): result.append(list(range(i+1, i+4))) print(result)
这种方式每次跳3个位置,直接生成每组的数字,适合处理连续数字的场景;如果要处理非连续的数字,还是第一种临时数组的方式更通用。
内容的提问来源于stack exchange,提问作者user1310969
相关产品推荐
相关产品推荐

