如何将NumPy数组转换为列表

  • Post category:Python

将NumPy数组转换为列表的方式有多种,以下是其中几种比较常用的方法。

1. 使用tolist()函数

tolist() 函数可以将NumPy数组转换为Python列表,其常用方式如下:

import numpy as np

# 创建一个NumPy数组
arr_np = np.array([1, 2, 3, 4, 5])

# 将NumPy数组转换为Python列表
arr_list = arr_np.tolist()

print(arr_list)

输出结果:

[1, 2, 3, 4, 5]

tolist() 函数同样适用于多维数组的情况,示例代码如下:

import numpy as np

# 创建一个二维NumPy数组
arr_np = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 将NumPy数组转换为Python列表
arr_list = arr_np.tolist()

print(arr_list)

输出结果:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

2. 使用ndarray.flatten()函数

ndarray.flatten() 函数可以将多维NumPy数组转换为一维数组,然后再将其转换为Python列表,示例代码如下:

import numpy as np

# 创建一个二维NumPy数组
arr_np = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 将多维NumPy数组展开为一维数组,然后转换为Python列表
arr_list = arr_np.flatten().tolist()

print(arr_list)

输出结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

注意,ndarray.flatten() 函数不会改变原来的数组维度,它只是返回一个展开后的一维数组。如果需要改变数组维度可以使用 ndarray.ravel()ndarray.reshape() 函数。

以上就是将NumPy数组转换为列表的两种常见方式,如果需要将其它数据类型转换为Python列表,可以参考官方文档:https://docs.python.org/3/library/stdtypes.html#lists 。