[Python-es] Forma pytonica de llenar un TreeListCtrl

mauricio rodriguez rodriguez.mauricio55 en gmail.com
Jue Mar 1 18:55:21 CET 2012


Yo estoy aprendiendo también pero te doy igual mi opinión


lo único que le veo a tu código que usas dos if, en lugar de ello puedes
reemplazar el segundo if con un elif ya que se trata de una segunda
clausula dentro de la misma comparación lógica, también se podría compactar
pero yo no soy adepto a compactar el código solo por estética, ya que esto
atenta contra la legibilidad.



El 1 de marzo de 2012 15:24, conterperawebs webs
<conterperawebs en gmail.com>escribió:

> Hola!!
>
>   Estoy aprendiendo Python y estoy seguro que este codigo (que me
> funciona) se puede simplificar mucho, programando de forma "pytonica".
>
>   Lo que intento es llenar un TreeListCtrl, a partir de una lista que
> contiene otra lista, llamada Registros.
>
> Los datos los obtengo de una tabla de sqlite a traves del metodo fetchall.
>
> La estructura de la tabla seria esta
> Registros
> ID                    Campo 0(root)              Campo1
> Campo2                  Campo3            Campo4
> 1                             X
> A                          A1                       AA1                datoA
> 2                             X
> A                          A1                       AA2
> datoB
> 3                             X
> A                          A2                       AA1
> dato3
> 4                             X
> B                          A1                       AA1                dato4
> 5                             X
> C                          A1                       AA1                dato5
> 6                             X
> D                          A1                       AA2                dato6
>
>
> Donde Campo0 seria el root, Campo1, campo2, y campo3, serian nodos del
> arbol y Campo4 serian las hojas.
>
>
>       familia_ant = ""
>       subfamilia_ant = ""
>
>         for reg in Registros:
>             if familia_ant != reg[2]:
>                 item = self.tree.AppendItem(raiz,reg[2], data=None)
>
>                 familia_ant = reg[2]
>             if subfamilia_ant != reg[3]:
>                 familia = self.tree.AppendItem(item, reg[3], data=None)
>
>                 subfamilia_ant = reg[3]
>
>             final = self.tree.AppendItem(familia, reg[4], data=None)
>             self.tree.SetItemText(final, reg[5], 1)
>
> Gracias anticipadas.
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120301/93918ba9/attachment.html>


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