[Python-es] Lio con lista que contiene diccionarios

Javier Perez javierperez en perasalvino.es
Jue Ago 13 07:39:28 EDT 2020


Muchísimas gracias a todos.

 
Ahora me pongo a ver y a analizar toda la información.





Saludos,

--
Javier Pérez
http://es.linkedin.com/in/javierperez1
http://www.perasalvino.es/




> El 13 ago 2020, a las 10:40, Chema Cortes <pych3m4 en gmail.com> escribió:
> 
> 
> El jue., 13 ago. 2020 a las 8:59, Victor Ramirez (<virako.9 en gmail.com <mailto:virako.9 en gmail.com>>) escribió:
> Hola Javier,
> 
> Una opción interesante podría ser crear una clase para esos datos y luego imprimir con el formato que quieras:
> 
> class Banco:
>     def __init__(self, element):
>         self.nombre = element.get('nombre')
>         self.isbn = element.get('ISBN')
>         self.valor_raspado = element.get('valor_raspado')
>     def __str__(self):
>         return "{} - {}".format(self.nombre, self.isbn)
> 
> lista_bancos = []
> for element in fondos_coleccion:
>     banco = Banco(element)
>     lista_bancos.append(banco)
>     # Con el objeto banco podemos imprimir lo que queramos de forma sencilla
>     print(banco)  # nos imprime el resultado de la función __str__
>     print(banco.isbn)  # imprimimos solo los isbn
> 
> Si es solo para tratar los datos esos y no tiene pensamiento de crecer, igual no tiene sentido, pero si vas a trabajar bastante con los datos y a futuro puede que crezca, esta opción podría ser interesante.
> 
> 
> Una mejor alternativa sería usar dataclasses:
> 
> @dataclass
> class Coleccion:
>     nombre: str
>     isbn: str
>     valor: float
>     
>     def __str__(self):
>         return f"{self.nombre[:25]:25} - {self.isbn}"
> 
> coleccion = [Coleccion(*d.values()) for d in fondos_coleccion]
> for col in coleccion:
>     print(col)
> Resultado:
> 
> Bankinter Indice Japon, F - ES0114104039
> BankinterTecnología R FI  - ES0114797030
> 
> 
> -- 
> Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales": https://blog.ch3m4.org <https://blog.ch3m4.org/>
> Buscador Python Hispano: http://busca.ch3m4.org <https://blog.ch3m4.org/pages/busqueda-python-es/>_______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200813/27f4d13a/attachment.html>


Más información sobre la lista de distribución Python-es