Python 中如何将 NumPy 数组转换为列表
列表和数组是 Python 中两个最基本且最常用的集合对象。
它们都是可变的,用于以通用名称存储元素的集合,并且每个元素都有可用于访问它的特定位置。
但是,有一些显着差异。列表已经在 Python 中内置,而对于数组,我们需要导入 arrays
或 NumPy
模块,并在使用它们之前声明数组。数组还可以更有效地将数据存储在内存中,并被广泛用于数学运算。
在本教程中,我们将把一个 numpy 数组转换为一个列表。
使用 tolist()
方法将一个 NumPy 数组转换为列表
NumPy 数组的 tolist()
方法可以将 NumPy 数组转换为列表。
例如,
import numpy as np
oned = np.array([[1,2,3]])
twod = np.array([[1,2,3],[4,5,6]])
print(oned.tolist())
print(twod.tolist())
输出结果如下:
[[1, 2, 3]]
[[1, 2, 3], [4, 5, 6]]
请注意
,此方法将整个数组视为一个元素。这就是为什么当我们将其与二维数组一起使用时,它会返回列表列表。
为了避免这种情况,我们可以将 tolist()
与 flatten()
或 ravel()
方法一起使用,它们可以将 N-D 数组转换为线性一维数组。这两种方法执行相同的功能。不同之处在于 ravel() 方法返回数组的参考视图并影响原始数组,而 flatten()
方法对数组的副本起作用。因此,ravel()
函数被认为速度更快,占用的内存更少。
以下代码显示了这些函数的用法。
import numpy as np
oned = np.array([1,2,3])
twod = np.array([[1,2,3],[4,5,6]])
print(oned.flatten().tolist())
print(twod.flatten().tolist())
print(oned.ravel().tolist())
print(twod.ravel().tolist())
输出结果如下:
[1, 2, 3]
[1, 2, 3, 4, 5, 6]
[1, 2, 3]
[1, 2, 3, 4, 5, 6]
使用 for 循环将 Python 中的 NumPy 数组转换为列表
对于那些刚接触编程或想要定制最终列表的人来说,这只是一种基本方法。我们遍历一个数组,并将每个元素分别附加到一个空列表中。以下代码实现了这一点。
import numpy as np
arr = np.array([1, 2, 3])
lst = []
for x in arr:
lst.append(x)
print(lst)
输出结果如下:
[1, 2, 3]
注: 本文转载自:https://www.delftstack.com/zh/howto/numpy/list-to-numpy-array-python/ 。文中示例的正确性已实际运行验证过,并配有截图。如遇到错误代码会进行相应的修改,修改正确之后才会在文中发布。如您发现有代码错误的,请及时告知。
相关文章
Python 中的第一类函数
发布时间:2023/04/25 浏览次数:113 分类:Python
-
第一类函数是被语言视为对象或变量的函数。 我们可以将它们分配给变量或将它们作为对象传递给其他函数。Python 支持第一类函数的功能。
Python 函数参数类型
发布时间:2023/04/25 浏览次数:140 分类:Python
-
在这篇 Python 文章中,我们将学习 Python 中使用的函数参数类型。 我们还将学习如何编写不带参数的 Python 函数。
Python 生成器中的 send 函数
发布时间:2023/04/25 浏览次数:111 分类:Python
-
本教程将介绍如何在 Python 中使用生成器的 send() 函数。我们可以创建一个像迭代器一样运行的函数,并且可以通过 Python 生成器函数在 for 循环中使用。
Python Functools 偏函数
发布时间:2023/04/25 浏览次数:80 分类:Python
-
本文介绍了我们如何使用分部函数,该函数随 functools 库一起提供,并附有示例。 这显示了调用时如何传递属性和部分函数。
Python main() 函数中的参数
发布时间:2023/04/25 浏览次数:157 分类:Python
-
在本教程结束时,我们应该了解Python 中在 main() 中使用参数是否是一种好的做法。
Python 中的内置 identity 函数
发布时间:2023/04/25 浏览次数:88 分类:Python
-
identity 函数只是一个返回其参数的函数。 当我们定义一个恒等函数并赋值时,它会返回该值。在本教程结束时,我们将了解 Python 是否具有内置的 identity 函数。
在 Python 中拟合阶跃函数
发布时间:2023/04/25 浏览次数:177 分类:Python
-
阶跃函数是带有看起来像一系列步骤的图形的方法。 它们由一系列中间有间隔的水平线段组成,也可以称为阶梯函数。本文给出了阶跃函数的简单演示。
在 Python 中创建双向链表
发布时间:2023/04/25 浏览次数:54 分类:Python
-
双向链表是指由称为节点的顺序链接的记录集组成的链接数据结构。 每个节点包含一个前一个指针、一个下一个指针和一个数据字段。
将 Python 类对象序列化为 JSON
发布时间:2023/04/25 浏览次数:152 分类:Python
-
本教程介绍序列化过程。 它还说明了我们如何使用 toJSON() 方法使 JSON 类可序列化,并包装 JSON 以转储到其类中。