赞
踩
+=:原地操作
给数组分配了一块儿地,对它进行操作,就是在已有的地上进行翻新播种,任何改变都在原地进行
+:非原地操作
给数组重新开辟了一块儿地,对它进行操作,不会影响原来的值
'
import numpy as np a=np.array([1,2,3]) b=a a+=np.array([1,1,1])#原地操作,在原有的操作空间中进行改变 print (a) #a也改变了 print (b) #b也改变了 c=np.array([1,2,3]) d=c c=c+np.array([1,1,1])#非原地操作,操作会另外开启操作空间 print (c)#c已经重新指向了新的地方 print (d)#d依然指向原来分配给c的空间运行[2 3 4] [2 3 4] [2 3 4] [1 2 3]
import numpy as np a=np.array([1,2,3,4]) b=a[:2]#a中的1、2个元素切片赋给b变量 b[0]=10 #b中第一个元素改为10 print (a)#切片操作会影响原始的值,原地操作,列表不会进行原地操作,这样Numpy对一维数组的操作比列表效率高 print (b)[10 2 3 4] [10 2]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。