numpy的asarray和array的区别

来源:互联网 发布:vb win7 64位 编辑:程序博客网 时间:2024/06/06 05:36
区别:当参数本身就是ndarray时,array仍然会新建一个对象,但是asarray不会新建。

# asarray和array的区别
a = [1,1] # a是一般数组
b = np.array(a) # array和asarray没有区别,都是会创建一个新的ndarray对象
c = np.asarray(a)
a[1] = 2
print('a=',a)
print('b=',b) # a的变化不会影响到b和c
print('c=',c)

a = np.ones(2,dtype='i') # a本身就是ndarray对象
b = np.array(a) # array会复制一个ndarray对象给b
c = np.asarray(a) # asarray不会复制,而是和a占用同一个内存
a[1] = 2
print('a=',a)
print('b=',b) # a的变化与b无关
print('c=',c) # a与c是同一个内存,即同一个对象