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

如何使用SQL将二维数组(2D Array)转换为一维数组(1D Array)?

如何将二维整数数组扁平化为一维数组?

没问题,我来帮你搞定这个二维数组转一维的需求!其实核心就是**扁平化(flatten)**操作,不同编程语言里都有现成的方法或者简单的实现方式,我给你列几个常用场景的例子:

Python

Python里实现这个需求的方式特别灵活,选你顺手的来就行:

  • 最直观的列表推导式:
two_d_array = [[0, 0, 0], [0, 0, 0]]
one_d_array = [num for sublist in two_d_array for num in sublist]
# 输出结果:[0, 0, 0, 0, 0, 0]
  • 用itertools工具类简化代码:
import itertools
two_d_array = [[0, 0, 0], [0, 0, 0]]
one_d_array = list(itertools.chain.from_iterable(two_d_array))
  • 如果是用numpy处理数值数组,直接用内置的扁平化方法:
import numpy as np
two_d_np_array = np.array([[0, 0, 0], [0, 0, 0]])
one_d_np_array = two_d_np_array.flatten()  # 返回数组副本
# 或者用 ravel(),返回原数组的视图(更省内存)
one_d_np_array = two_d_np_array.ravel()

JavaScript

前端场景下的实现也很简单:

  • ES6+ 直接用flat()方法,一步到位:
const twoDArray = [[0, 0, 0], [0, 0, 0]];
const oneDArray = twoDArray.flat();
// 输出结果:[0, 0, 0, 0, 0, 0]
// 要是遇到更深层的嵌套数组,还可以传参数比如 flat(Infinity) 来全部扁平化
  • 兼容性更好的reduce写法:
const twoDArray = [[0, 0, 0], [0, 0, 0]];
const oneDArray = twoDArray.reduce((result, currentList) => result.concat(currentList), []);

PHP

后端PHP场景下的实现方案:

  • 用展开运算符配合array_merge,简洁高效:
$twoDArray = [[0, 0, 0], [0, 0, 0]];
$oneDArray = array_merge(...$twoDArray);
// 输出结果:[0, 0, 0, 0, 0, 0]
  • 循环遍历的写法(适合需要额外处理每个元素的场景):
$twoDArray = [[0, 0, 0], [0, 0, 0]];
$oneDArray = [];
foreach ($twoDArray as $subList) {
    $oneDArray = array_merge($oneDArray, $subList);
}

如果你的场景是其他编程语言,或者数组有特殊的嵌套情况(比如不是严格的二维数组),随时说,我再给你调整方案~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 15:53:13