📅  最后修改于: 2023-12-03 15:33:14.908000             🧑  作者: Mango
有时,我们可能需要将numpy.ndarray(n维数组)转换为Python列表。这通常是因为我们需要进行某些操作,例如排序,过滤等,这些操作是列表上的更自然的要求。
numpy ndarray对象具有一个名为tolist()的内置函数,该函数将数组转换为Python列表。
import numpy as np
#创建一个numpy ndarray
arr = np.array([[1, 2], [3, 4]])
#转换为python list
list_arr = arr.tolist()
#输出结果
print("原始数组:\n", arr)
print("Python列表:\n", list_arr)
输出结果:
原始数组:
[[1 2]
[3 4]]
Python列表:
[[1, 2], [3, 4]]
我们同样可以使用tolist()函数来转换多维数组。在这种情况下,Python的列表将是嵌套列表,其中每个嵌套的列表代表numpy多维数组的第一维。
import numpy as np
# 创建一个2维numpy ndarray
arr = np.array([[1, 2], [3, 4], [5, 6]])
#转换为python list
list_arr = arr.tolist()
#输出结果
print("原始数组:\n", arr)
print("Python列表:\n", list_arr)
输出结果:
原始数组:
[[1 2]
[3 4]
[5 6]]
Python列表:
[[1, 2], [3, 4], [5, 6]]
我们还可以使用tolist()方法将数组中的每个元素转换为列表。
import numpy as np
#创建一个2维numpy ndarray
arr = np.array([[1, 2], [3, 4]])
#转换元素为Python列表
list_arr = arr.flatten().tolist()
# 输出结果
print("原始数组:\n", arr)
print("Python列表:\n", list_arr)
输出结果:
原始数组:
[[1 2]
[3 4]]
Python列表:
[1, 2, 3, 4]
numpy ndarray 到 lsit的转换使用tolist()函数非常简单,使得我们能够使用Python原生函数更方便地操作数据。