python多维数组转化为一维数组的2种方法

在 Python 中,将多维数组转换为一维数组可以使用列表推导式(list comprehension)或 numpy 库中的 ravel() 函数。以下是两种实现方法的示例代码:

方法一:使用列表推导式

# 创建一个二维数组
my_list = [[1, 2], [3, 4], [5, 6]]

# 将二维数组转化为一维数组
new_list = [element for sublist in my_list for element in sublist]

print(new_list)  # 输出:[1, 2, 3, 4, 5, 6]

在这个使用列表推导式示例代码中,我们首先创建了一个二维数组 my_list。要将该数组转换为一维数组,我们使用了列表推导式的方式来遍历每个子列表(即二维数组中的每行元素),并将其扁平化为一个新的一维数组 new_list

方法二:使用 numpy.ravel() 函数

import numpy as np

# 创建一个二维数组
my_list = [[1, 2], [3, 4], [5, 6]]

# 将二维数组转化为一维数组
new_list = np.ravel(my_list)

print(new_list)  # 输出:[1 2 3 4 5 6]

在这个使用 numpy.ravel() 函数示例代码中,我们导入了 numpy 库,并使用其中的 ravel() 函数来将多维数组转换为一维数组。与列表推导式不同的是,在使用 ravel() 函数时,我们需要将多维数组作为该函数的参数传递进去,从而得到一个新的一维数组 new_list

请注意,虽然这两种方法的实现方式不同,但得到的结果都是一个扁平化的、一维的列表。