将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 。