Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: fakzo en 28 Noviembre 2016, 02:57 am



Título: [Python] Como copiar un diccionario en otra direccion de memoria
Publicado por: fakzo en 28 Noviembre 2016, 02:57 am
Hola a todos!

No logro copiar un diccionario de una variable a otra pero cambiando la direccion de memoria..

No se si logro expresarme bien.. es una duda puntual y no se como buscarlo :s

Para hacer esto mismo con listas si se como hacerlo..
Lo hago de la siguiente forma:
Código
  1. array1 = [2, 3, 4]
  2. array2 = [7,6]
  3. array1.append(array2[:])
  4. array1 is array2 # la respuesta es false.. ya que son distintas direcciones de memoria
  5.  

Intente hacer eso mismo con diccionarios.. pero obtuve como error "unhashable type"..

Lo que intente hacer fue..
Código
  1. array = [1,3]
  2. dic = {1:"uno",2:"dos"}
  3. array.append(dic[:])
  4.  

Alguien tiene idea de esto?

Saludos!


Título: Re: [Python] Como copiar un diccionario en otra direccion de memoria
Publicado por: engel lex en 28 Noviembre 2016, 03:06 am
Código
  1. dic1 = {1:"uno",2:"dos"}
  2. dic2 = {3:"tres", 4:"cuatro"}
  3. dic1.update(dic2)


Título: Re: [Python] Como copiar un diccionario en otra direccion de memoria
Publicado por: fakzo en 28 Noviembre 2016, 03:47 am
Código
  1. dic1 = {1:"uno",2:"dos"}
  2. dic2 = {3:"tres", 4:"cuatro"}
  3. dic1.update(dic2)


Gracias!

Necesitaba copiarlo a una lista el diccionario.. es decir tengo una lista donde cada elemento es un diccionario, y quiero copiarlos pero dejando de lado la referencia al diccionario original..

Lo logre hacer asi:

Código
  1. lista.append(diccionario.copy)

Gracias por tu ayuda, me sirvio!

Saludos