📜  从 numpy 到列表 python (1)

📅  最后修改于: 2023-12-03 15:21:53.273000             🧑  作者: Mango

从 numpy 到列表 python

Numpy 是一个使用 Python 进行科学计算的基础库,提供了高性能的多维数组对象和相应的工具。然而,在某些情况下,可能需要将 Numpy 数组转换为 Python 列表。在本文中,我们将介绍如何将 Numpy 数组转换为 Python 列表。

通过tolist()方法将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

通过列表推导式将Numpy数组转换为Python列表

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。使用列表推导式的方法将更加灵活,因为可以在列表中添加条件。

通过nditem方法将Numpy数组转换为Python列表

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方法将Numpy数组转换为Python列表

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 数组扁平成一维数组返回。在实际应用中根据具体需求选择适合自己的方法。