[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