Общая память в NumPy
Один и тот же блок байтов
может быть виден через срез и через
исходный ряд. Для проверки служит
функция shares_memory.
Создадим ряд, возьмём его хвост и спросим, смотрят ли оба объекта на общие данные:
import numpy as np
temps = np.array([10, 20, 30, 40])
tail = temps[2:]
print(np.shares_memory(temps, tail)) # выведет True
Два независимо созданных массива обычно не делят память, даже если числа в них совпадают:
import numpy as np
left = np.array([1, 2, 3])
right = np.array([1, 2, 3])
print(np.shares_memory(left, right)) # выведет False
Создайте массив из пяти последовательных целых, возьмите его первые три ячейки и выведите, делят ли исходный массив и фрагмент одну память.
Создайте два отдельных массива
с одинаковым содержимым [7, 8, 9]
и выведите, есть ли у них общая
память.