C#中如何不使用foreach将一维数组添加为二维数组的新维度?
当然可以呀!完全不需要用foreach循环就能搞定这个需求,不同编程语言里都有简洁的内置方法可以实现。我给你举几个常见场景的例子:
PHP 实现方式
假设你的一维操作数组是$oneDimensional,二维目标数组是$twoDimensional,要把一维数组作为新的维度(新的一行)添加进去,直接用数组追加语法就行:
// 把一维数组追加到二维数组末尾,成为新的维度元素 $twoDimensional[] = $oneDimensional;
比如原二维数组是[[1,2], [3,4], ...](对应30个元素的结构),执行完上面的代码后,它就会变成[[1,2], [3,4], ..., [xxx, xxx]],刚好符合你要的效果。
Python 实现方式
在Python里,列表的append()方法可以直接完成这个操作:
# 示例一维数组(30个值) one_dimensional = [i for i in range(30)] # 示例二维目标数组(总元素30个,比如6行5列) two_dimensional = [[j for j in range(5)] for _ in range(6)] # 将一维数组作为新维度添加进去 two_dimensional.append(one_dimensional)
执行后,原本的二维列表会新增一个元素(也就是你的一维列表),变成包含7个一维列表的二维结构。
JavaScript 实现方式
JS里同样有内置的push()方法来完成这个操作:
// 生成示例一维数组 const oneDimensional = Array.from({length: 30}, (_, idx) => idx); // 生成示例二维目标数组 const twoDimensional = Array.from({length: 6}, () => Array.from({length:5}, (_, idx) => idx)); // 添加一维数组作为新维度 twoDimensional.push(oneDimensional);
本质上,这些内置方法底层虽然可能涉及循环逻辑,但你完全不需要显式调用foreach,只需要一行代码就能完成需求~
内容的提问来源于stack exchange,提问作者Lars
相关产品推荐
相关产品推荐

