Vistas y copias en Python
Un corte da una vista; olvidarlo es la forma en que numpy sorprende a la gente.
import numpy as np
original = np.arange(6)
vista = original[2:5]
clon = original[2:5].copy()
vista[0] = 99
clon[1] = -1
print(original)
print(vista.base is original, clon.base is None)
print(np.shares_memory(original, vista),
np.shares_memory(original, clon))
Cómo funciona
- Un corte básico comparte memoria con el original.
copy()rompe el vínculo a propósito.basete dice si un arreglo es dueño de sus datos.
Palabras clave y builtins usados aquí
asprint
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 262
- Tokens
- 83
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 45 segundos.
Paso 2 de 4 en Matemática y memoria; paso 17 de 22 en NumPy.