Python 中的 numpy.ndarray.tolist()17 Mar 2025 | 阅读 2 分钟 numpy 模块提供了一个函数 numpy.ndarray.tolist(),用于将数组的数据元素转换为列表。此函数将数组作为 a.ndim- 深度嵌套的 Python 标量列表返回。 简单来说,此函数将数组元素的副本作为 Python 列表返回。 这些元素通过 item 函数转换为最接近的兼容内置 Python 类型。 当 'a.ndim' 为 0 时,列表的深度为 0,它将是一个简单的 Python 标量,而不是任何列表。  语法参数此函数没有参数或参数。 返回:y:对象,或对象列表,或对象列表此函数返回可能嵌套的数组元素列表。 注意 我们可以通过 a=np.array(a.tolist()) 重新创建数组,但有时会失去精度。示例 1如果我们将 a.tolist() 用于一维数组,那么它几乎与 list(a) 相同,除了 tolist 将 numpy 标量转换为 Python 标量。 输出 array([6, 2], dtype=uint32)
[6, 2]
<type 'numpy.uint32'>
[6L, 2L]
<type 'long'>
在上面的代码中 - 我们使用别名 np 导入了 numpy。
- 我们使用 np.uint32() 函数创建了一个数组 'a'。
- 我们声明了变量 'a_list',并为其分配了 list() 函数的返回值。
- 我们尝试打印 'a'、'a_list' 和 a_list 的类型的值。
- 我们声明了变量 a_tolist 并分配了 ndarray.tolist() 的返回值。
- 最后,我们尝试打印 'a_tolist' 的类型和值。
在输出中,它显示了一个列表,其元素是从源数组转换而来的。 示例 2对于二维数组,tolist 将递归应用。 输出 array([[11, 21],
[31, 41]])
[[11, 21], [31, 41]]
在上面的代码中 - 我们使用别名 np 导入了 numpy。
- 我们使用 np.array() 函数创建了一个二维数组 'a'。
- 我们声明了变量 'b',并为其分配了 a.tolist() 函数的返回值。
- 最后,我们尝试打印 'b' 的值。
在输出中,它显示了一个列表,其元素是从源数组转换而来的。 示例 3输出 Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: iteration over a 0-d array
5
|