📅  最后修改于: 2023-12-03 15:21:53.273000             🧑  作者: Mango
Numpy 是一个使用 Python 进行科学计算的基础库,提供了高性能的多维数组对象和相应的工具。然而,在某些情况下,可能需要将 Numpy 数组转换为 Python 列表。在本文中,我们将介绍如何将 Numpy 数组转换为 Python 列表。
Numpy 数组有一个方便的方法来转换为 Python 的列表。具体方法是使用 tolist()
方法。
import numpy as np
a = np.array([[1,2],[3,4]])
b = a.tolist()
print(b)
输出结果:
[[1, 2], [3, 4]]
以上代码将 Numpy 数组从 a
转换为 Python 列表 b
。
Python 还提供了一个方便的方式来把 Numpy 数组转换为 Python 列表,那就是使用列表推导式。
import numpy as np
a = np.array([[1,2],[3,4]])
b = [x.tolist() for x in a]
print(b)
输出结果:
[[1, 2], [3, 4]]
以上代码将 Numpy 数组从 a
转换为 Python 列表 b
。使用列表推导式的方法将更加灵活,因为可以在列表中添加条件。
Numpy 的 nditer()
方法可迭代 Numpy 数组的元素,通过将每个元素从 Numpy 数组中提取并添加到 Python 列表构成 Python 列表。
import numpy as np
a = np.array([[1,2],[3,4]])
b = []
for x in np.nditer(a):
b.append(x.tolist())
print(b)
输出结果:
[1, 2, 3, 4]
以上代码将 Numpy 数组从 a
转换为 Python 列表 b
。请注意,此方法生成一个单层嵌套列表。
flatten()
方法将多维数组转换为一维数组,然后使用列表的 constructor 生成一个 Python 列表。
import numpy as np
a = np.array([[1,2],[3,4]])
b = list(a.flatten())
print(b)
输出结果:
[1, 2, 3, 4]
以上代码将 Numpy 数组从 a
转换为 Python 列表 b
。注意这个方法返回的是一个一维数组,并非多维数组的形式。
以上是把 Numpy 数组转换为 Python 列表的四种方法。其中 tolist()
和列表推导式的方法是常见的一种,它返回的是一个多维列表。nditem()
和 flatten()
方法会把 Numpy 数组扁平成一维数组返回。在实际应用中根据具体需求选择适合自己的方法。