区别:

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对应位置相加了。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐