如何将Python列表转换为数组

230 阅读2分钟

Python list是一种线性数据结构,可以容纳异质元素。不幸的是,Python 没有一个内置的数组数据类型,但是我们可以使用 numpy 库来创建和修改数组。

要在Python中创建一个数组,请使用numpy 库。要 在你的系统中安装numpy ,请输入以下命令。

python3 -m pip install numpy

创建一个numpy数组,使用numpy.array()函数。要创建一个空数组,使用numpy empty()函数。

在编程过程中,会有这样的情况:你需要将现有的列表转换为数组,以便对其进行某些操作。在这个例子中,我们将看到如何在 Python 中把列表转换为数组。

Python 列表到数组

要在Python一个列表转换为数组,请使用**np****.array()**方法。np.array()是一个numpy 库函数,它接收一个列表作为参数并返回一个包含所有列表元素的数组。

import numpy as np

elon_list = [11, 21, 19, 18, 29]
elon_array = np.array(elon_list)

print(elon_array)
print(type(elon_array))

输出

[11 21 19 18 29]
<class 'numpy.ndarray'>

在这个例子中,我们定义了一个列表,使用np.array() 函数将其转换为一个数组,并打印了数组及其数据类型。要在 Python 中检查变量的数据类型,请使用**type()** 函数。

使用numpy.asarray()方法将列表转换为数组

np.asarray()是一个numpy 库函数 ,它以一个列表为参数,将其转换为一个数组,并返回。根据numpy.asarray()函数的定义,它在自身内部调用**numpy.array()**函数。

所以在幕后,**np.asarray()函数调用np.array()**函数。

def asarray(a, dtype=None, order=None):
    return array(a, dtype, copy=False, order=order)

numpy.array()numpy.asarray()的主要区别在于,numpy.asarray()的复制标志是假的,而numpy.array()的复制标志是(默认)。

import numpy as np

elon_list = [11, 21, 19, 18, 29]
elon_array = np.asarray(elon_list)

print(elon_array)
print(type(elon_array))

输出

[11 21 19 18 29]
<class 'numpy.ndarray'>

np.array vs np.asarray

n**p.array()np.asarray()**的主要区别在于,**np.array()会创建一个原始对象的副本,而np.asarray()**会跟随原始对象的变化。

例如,当使用**np.asarray()制作一个数组的副本时,在一个数组中所做的修改会反映在另一个数组中,但不会显示数组的列表中的变化。在np.array()**的情况下,这种情况就不会发生。

这就是在 Python 中将列表转换为数组的情况。

参见

Python 列表到元组

Python list 转为字符串

Python list 转为数据帧

Python list 转为 json

Python设置为列表