typestar

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

  1. Un corte básico comparte memoria con el original.
  2. copy() rompe el vínculo a propósito.
  3. base te dice si un arreglo es dueño de sus datos.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 4 en Matemática y memoria; paso 17 de 22 en NumPy.

← Anterior Siguiente →