Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2012, 16:10
gongess
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Sobre escritura de datos en Python

Hola chicos,
les vengo a pedir ayuda para resolver un problema

EL asunto es que dentro de un for instancio un objeto de "x" clase para guardarlo como valor de un diccionario (clave:valor) pero lo que pasa es que en cada pasada se me sobre escribe el valor de la llave anterior con el valor de la nueva llave quedando los items del diccionario todos iguales al ultimo valor {key1:3,key2:3,key3:3}:

por ejemplo Tengo una clase:
Código Python:
Ver original
  1. class Prueba():
  2.  
  3. continente=None
  4. dict_ciudades={}
  5.  
  6. def __init__(self,**kwargs):
  7.      #algo
  8.      self.continente=kwargs['continente']
  9.      def buscar_ciudades_paises(self.continente)
  10.      
  11.  
  12. def buscar_ciudades_paises(self,continente):
  13.     for pais in continente:
  14.         nombre_pais=pais.nombre
  15.        
  16.         #aqui instancio la clase x (en este caso -> buscarCiudades).
  17.         ciudades=buscarCiudades(nombre_pais)
  18.        
  19.         #actualizo el diccionario y el problema
  20.         self.dict_ciudades.update({nombre_pais:ciudades.lista})

Al actualizar el diccionario ocurre el problema Se me sobre escriben los valores
por ejemplo
1°pasada en for ->Chile y trae un objeto con una lista SAntiago y Valparaiso
{chile:['santiago','valparaiso']}

2°pasada en for ->Brasil trae un objeto con una lista Brasilia y Rio de janerio

Entonces ocurre que:
{Chile:['brasilia','Rio de janeiro'], Brasil:['brasilia','Rio de janeiro']

se sobre escriben!!


Esto ocurre solo cuando le paso el objeto , porque si le paso una variable incremental dentro del for [ej:(1,2,3..)por cada paso aumenta 1] no se me sobre escribe los valores para el DIccionario

Les agradecería de antemano toda la ayuda, ya que no he podido ver donde esta el problema.