Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

372
Vistas
Copiar una lista de matrices numpy

Estoy trabajando con (listas de) listas de matrices numpy. Como ejemplo básico, considere este fragmento de código:

 a = [np.zeros(5)] b = a.copy() b[0] += 1

Aquí, copio una lista de una matriz de a a b . Sin embargo, la matriz en sí no se copia, por lo que:

 print(a) print(b)

ambos dan [array([1., 1., 1., 1., 1.])] . Si también quiero hacer una copia de la matriz, podría hacer algo como:

 b = [arr.copy() for arr in a]

y a permanecería sin cambios. Esto funciona bien para una lista simple, pero se vuelve más complicado cuando se trabaja con listas anidadas de arreglos donde el número de arreglos en cada lista no siempre es el mismo.

¿Existe una forma sencilla de copiar una lista de varios niveles y todos los objetos que contiene sin mantener las referencias a los objetos en la lista original? Básicamente, me gustaría evitar los bucles anidados y tratar con el tamaño de cada sublista individual.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Lo que buscas es un deepcopy

 import numpy as np import copy a = [np.zeros(5)] b = copy.deepcopy(a) b[0] += 1 # a[0] is not changed

En realidad, este es el método recomendado en numpy doc para la copia profunda de matrices de object .

over 4 years ago · Santiago Trujillo Denunciar

0

Necesitas usar copia profunda.

 import numpy as np import copy a = [np.zeros(5)] b = copy.deepcopy(a) b[0] += 1 print(a) print(b)

Resultado:

 [array([0., 0., 0., 0., 0.])] [array([1., 1., 1., 1., 1.])]
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda