NumPy numpy.ndarray.tolist()的使用

NumPy numpy.ndarray.tolist()的使用

numpy模块提供了一个函数 numpy.ndarray.tolist() ,用于将数组的数据元素转换为列表。此函数将数组作为 a.ndim- 级深度嵌套的Python标量列表返回。

简单来说,该函数将数组元素的副本作为Python列表返回。通过item函数,元素被转换为最接近的兼容的内置Python类型。当’a.ndim’为0时,列表的深度为0,它将是一个简单的Python标量,而不是任何列表。

NumPy numpy.ndarray.tolist()的使用

语法

ndarray.tolist()

参数:

此函数没有参数。

返回值: y: object,或列表的对象,或列表的对象

此函数返回可能是嵌套的数组元素的列表。

注意: 我们可以通过a=np.array(a.tolist())重新创建数组,但是这样做有时会丢失精度。

示例1

如果我们对于一个1D数组使用 a.tolist() ,则与 list(a) 几乎相同,只是 tolist 将numpy标量转换为Python标量。

import numpy as np
a = np.uint32([6, 2])
a
a_list=list(a)
a_list
type(a_list[0])
a_tolist=a.tolist()
a_tolist
type(a_tolist[0])

输出:

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

import numpy as np
a = np.array([[11, 21], [31, 41]])
b=a.tolist()
a
b

输出:

array([[11, 21],
        [31, 41]])
[[11, 21], [31, 41]]

在上面的代码中

  • 我们使用别名np导入了numpy库。
  • 我们使用np.array()函数创建了一个二维数组’a’。
  • 我们声明了变量’b’并将其赋值为 a.tolist() 函数的返回值。
  • 最后,我们尝试打印值’ b ‘。

在输出中,它显示了一个列表,其中元素是从源数组转换而来的。

示例3

import numpy as np
x = np.array(5)
list(x)
y=x.tolist()
y

输出:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: iteration over a 0-d array
5

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程