迹忆客 专注技术分享

当前位置:主页 > 学无止境 >

Python 中如何将 NumPy 数组转换为列表

作者:迹忆客 最近更新:2023/02/18 浏览次数:

列表和数组是 Python 中两个最基本且最常用的集合对象。

它们都是可变的,用于以通用名称存储元素的集合,并且每个元素都有可用于访问它的特定位置。

但是,有一些显着差异。列表已经在 Python 中内置,而对于数组,我们需要导入 arraysNumPy 模块,并在使用它们之前声明数组。数组还可以更有效地将数据存储在内存中,并被广泛用于数学运算。

在本教程中,我们将把一个 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() 方法将一个 NumPy 数组转换为列表

请注意 ,此方法将整个数组视为一个元素。这就是为什么当我们将其与二维数组一起使用时,它会返回列表列表。

为了避免这种情况,我们可以将 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]

使用 tolist() flatten 和 ravel 方法将一个 NumPy 数组转换为列表


使用 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]

for 循环将 Python 中的 NumPy 数组转换为列表


注: 本文转载自:https://www.delftstack.com/zh/howto/numpy/list-to-numpy-array-python/ 。文中示例的正确性已实际运行验证过,并配有截图。如遇到错误代码会进行相应的修改,修改正确之后才会在文中发布。如您发现有代码错误的,请及时告知。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的 Pandas 插入方法

发布时间:2024/04/23 浏览次数:112 分类:Python

本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。

Pandas 重命名多个列

发布时间:2024/04/22 浏览次数:199 分类:Python

本教程演示了如何使用 Pandas 重命名数据框中的多个列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便