区别:
numpy.array是可以有多重维度的数组,可以看成固定空间的数组。一个元素对应一个数字。
list是一个列表,是无限空间的一维数组。每个元素也可以是一个新的列表。
import numpy as np
a = [1, 2, 3, 4, 5]
b = [2, 2, 2, 2, 2]
print(type(a))
print(a + b)
a = np.array(a)
b = np.array(b)
print(a + b)
例如我们两个列表相加。
单纯列表相加,由于列表是无限空间的,列表就会向后扩展。得到两个列表拼接的新列表。
而numpy库中ndarray数组相加,由于是固定空间的数组 ,则会表示成对应位置元素之和。
验证:
我们写一个多重列表和二维数组来验证我们的想法
①多重列表
a = [1, 2, 3, 4, 5]
b = [[2, 2, 2, 2, 2], [1, 1, 1, 1, 1]]
print(a + b)
可见,b中的两个列表被当做两个元素与a拼接了。
②多维数组
import numpy as np
a = [1, 2, 3, 4, 5]
b = [[2, 2, 2, 2, 2], [1, 1, 1, 1, 1]]
a = np.array(a)
b = np.array(b)
print(a + b)
得到b中每个数组对应位置与a对应位置相加了。