Следуя комментариям Divakar, вы можете использовать встроенную функцию id , чтобы проверить, отличаются ли две переменные v
, и numpy .may_share_memory , чтобы проверить, и когда a
и v
совместно используют память:
import numpy as np
a = np.zeros((10,10))
x1,x2 = (4,4)
y1,y2 = (6,6)
a[x1:y1,x2:y2] = 1
v = a[x1:y1,x2:y2]
print(id(v), np.may_share_memory(a,v))
#259977568 True
v = 1-v
print(id(v), np.may_share_memory(a,v))
# 259979728 False
При изменении существующего v
в соответствии с предложением вы получите:
v = a[x1:y1,x2:y2]
print(id(v), np.may_share_memory(a,v))
# 259978968 True
v[:] = 1-v
print(id(v), np.may_share_memory(a,v))
# 259978968 True