📜  numpy.ndarray 到 lsit - Python (1)

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

将numpy.ndarray转换为list

有时,我们可能需要将numpy.ndarray(n维数组)转换为Python列表。这通常是因为我们需要进行某些操作,例如排序,过滤等,这些操作是列表上的更自然的要求。

1. 使用tolist()函数

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]]
2. 使用tolist()对多维数组进行转换

我们同样可以使用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]]
3. 使用tolist()函数对元素进行转换

我们还可以使用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原生函数更方便地操作数据。