[Python-es] Forma pytonica de llenar un TreeListCtrl
Chema Cortes
pych3m4 en gmail.com
Jue Mar 1 20:27:09 CET 2012
El día 1 de marzo de 2012 18:24, conterperawebs webs
<conterperawebs en gmail.com> escribió:
> Estoy aprendiendo Python y estoy seguro que este codigo (que me funciona)
> se puede simplificar mucho, programando de forma "pytonica".
Tampoco te obsesione mucho, ser pytónico no es obligatorio. Lo
importante de verdad es que el código sea entendible para que sea
sencillo modificarlo en un futuro, por tí o por otro.
Si he entendido bien lo que quieres, sería un caso típico para
'itertools.groupby'. Te pongo el código para darte una idea, pero
deberás ajustarlo a tu problema en concreto:
from operator import itemgetter
from itertools import groupby
getroot = itemgetter(1)
getfamilia = itemgetter(2)
getsubfamilia = itemgetter(3)
for familia_name, subfamilia in groupby(Registros, itemgetter(2)):
item = self.tree.AppendItem(raiz, familia_name, data=None)
for subfamilia_name, nodos in groupby(subfamilia, itemgetter(3)):
familia = self.tree.AppendItem(item, subfamilia_name, data=None)
for reg in nodos:
final = self.tree.AppendItem(familia, reg[4], data=None)
self.tree.SetItemText(final, reg[5], 1)
--
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales
Más información sobre la lista de distribución Python-es