Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

374
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda