Python list 是一种线性数据结构,可以容纳异质的元素。不幸的是,Python 没有一个内置的数组数据类型。
Python 列表到数组
要在 Python 中把一个 list 转换为数组,可以使用 numpy.array() 或 numpy.asarray() 函数。np.array() 函数接收一个列表作为参数,并返回一个包含所有列表元素的数组。
要在 Python 中创建一个数组,请使用 numpy 库。
要在你的系统中 安装numpy ,键入以下命令:
python3 -m pip install numpy
要创建一个 numpy 数组,使用 numpy.array() 函数。要创建一个空数组,使用numpy empty()函数。
在编程过程中,会有这样的情况:你需要将现有的列表转换为数组,以便对其进行某些操作。在这个例子中,我们将看到如何在 Python 中把列表转换为数组。
使用 numpy.array() 方法将列表转换为数组
numpy array() 方法接收一个列表作为参数,将其转换为一个集合,并将其返回:
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()方法将列表转换为数组
numpy as.array()函数接收一个列表,并将该输入转换为一个数组。根据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()和np.asarray()的主要区别是,np.array()会创建一个原始对象的副本,而np.asarray()会跟随原始对象的变化。
例如,当使用np.asarray()制作一个数组的副本时,在一个数组中所做的修改会反映在另一个数组中,但不会显示在制作数组的列表中的变化。在np.array()**的情况下,这种情况就不会发生。
这就是在 Python 中将列表转换为数组的方法。