numpy的array和asarray

it2022-05-05  208

numpy中的array和asarray有细微差别

如果原始数据是python内置的列表类型,比如list,则使用array和asarray是一样的,都是新开辟了一个空间,比如:

data3 = [1,2,3] test1 = np.array(data3) test2 = np.asarray(data3) print(data3) print(test1) print(test2)

输出为:

而如果原始数据就是ndarray型的,那么就有区别了,使用array会开辟一个新空间,而asarray则相当于C语言的指针一样,不创建新的数据对象,而是与原始数据指向同一个值,下面举个栗子

data4 = np.zeros((3,3)) test1 = np.array(data4) test2 = np.asarray(data4) # 注意改了data4的第3行 data4[2] = 1 print(data4) print(test1) print(test2)

输出结果可以看出test2的第三行同样跟着改了


最新回复(0)