list加法和ndarray的使用是有区别的
[in]
a=[1,3,4]+[3,7,9]
print("a=",a)
print(type(a))
[out]
a= [1, 3, 4, 3, 7, 9]
<class 'list'>
list用“+”号时是将两个list进行连接,类似extend,并没有进行数的运算
[in]
c=[1,2]
d=[3,4]
c.extend(d)
print(c)
[out]
[1, 2, 3, 4]
#使用extend时,如果这样用会输出None
e=c.extend(d)
print(e)
#此时输入为None
使用numpy.ndarray时,是对应位置进行相加
[in]
b=zeros(3)+[1,3,4]+[2,5,7]
print("b=",b)
print(type(b))
[out]
#其中zeros(3)=[0,0,0]
b= [ 3. 8. 11.]
<class 'numpy.ndarray'>
np.array进行乘法和加法运算,不同类型可以进行运算
[in]
a=np.array([1,3,3])
b=1.02*a+3
print(b)
[out]
[4.02 6.06 6.06]
list乘法和加法如果采用和np.array相同的方法则报错,因此list是不能和单独的数非int型的数进行乘法运算的,
[in]
c=[1,3,4]
d=1.02*c+3
print(d)
若进行强制类型转换将float改为int,则长度会加倍
c=[1,3,4]
d=2*c
print(d)
[out]
[1,3,4,1,3,4]