Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

377
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!