Python中的Numpy(Numerical Python)是一个用于科学计算的开源Python扩展库,包含了强大的数值数组对象ndarray和各种工具函数。与Python自带的list相比,Numpy数组要更加高效、快速、方便许多。但我们在实际应用中也经常需要和list格式进行转换,本文将为大家介绍numpy数组和list之间的相互转换。
一、list转numpy数组
1.通过np.array()方法
在numpy中,我们可以使用np.array()方法将list转换为numpy数组:
import numpy as np
lst = [1,2,3,4,5]
arr = np.array(lst)
print(arr)
输出结果:
[1 2 3 4 5]
2.通过np.asarray()方法
np.asarray()方法可以将列表、元组、元组列表、以及其他类似数组的对象转化为ndarray对象:
import numpy as np
lst = [1,2,3,4,5]
arr = np.asarray(lst)
print(arr)
输出结果:
[1 2 3 4 5]
二、numpy数组转list
1.通过tolist()方法
tolist()方法可以将numpy数组转为list:
import numpy as np
arr = np.array([1,2,3,4,5])
lst = arr.tolist()
print(lst)
输出结果:
[1, 2, 3, 4, 5]
2.通过list()方法
numpy数组也可以通过list()方法转为list,只需要将数组放入list()方法中即可:
import numpy as np
arr = np.array([1,2,3,4,5])
lst = list(arr)
print(lst)
输出结果:
[1, 2, 3, 4, 5]
三、附:常见错误
1.使用numpy数组时,如果数据类型不匹配,会出现错误:
import numpy as np
lst = [1,2,3,4,5]
arr = np.array(lst, dtype='float64')
print(arr)
输出结果:
[1. 2. 3. 4. 5.]
2.当numpy数组的元素类型和list不同,返回的数组仍然是list:
import numpy as np
lst = [1,'a',2]
arr = np.array(lst)
print(arr)
输出结果:
['1' 'a' '2']