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
class Prueba(): continente=None dict_ciudades={} def __init__(self,**kwargs): #algo self.continente=kwargs['continente'] def buscar_ciudades_paises(self.continente) def buscar_ciudades_paises(self,continente): for pais in continente: nombre_pais=pais.nombre #aqui instancio la clase x (en este caso -> buscarCiudades). ciudades=buscarCiudades(nombre_pais) #actualizo el diccionario y el problema 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.