1、数据源为数组ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。

#!/usr/bin/env python
import numpy as np

data = np.array([100, 200, 300])

a = np.array(data)
b = np.asarray(data)

print("数据源改变之前:")
print(a)
print(b)

data[2] = 888

print("数据源改变之后:")
print(a)
print(b)
数据源改变之前:
[100 200 300]
[100 200 300]
数据源改变之后:
[100 200 300]
[100 200 888]

 2、数据源为列表时,两者没区别。

#!/usr/bin/env python
import numpy as np

data = [100, 200, 300]

a = np.array(data)
b = np.asarray(data)

print("数据源改变之前:")
print(a)
print(b)

data[2] = 888

print("数据源改变之后:")
print(a)
print(b)
数据源改变之前:
[100 200 300]
[100 200 300]
数据源改变之后:
[100 200 300]
[100 200 300]

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐