-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 04/09/10 23:07, Carlos Herrera Polo escribió:
> Bueno, el motivo puntual que escribo este correo se debe a lo siguiente, > quiero hacer un pequeño programa que lea una base de datos MySQL, la > cual retorna segun el select que ya construi los siguientes valores de > ejemplo (solo son 2 columnas): > > 1 - Arbol > 1 -Manzana > 1- Pera > 2 - Arbol > 2 - Manzana > 3 - Manzana > 3 - Pera > 3 - Platano > 3 - Uva > 4 - Pera > 5 - Arbol > 5 - Pera > > Esto entiendo (por lo poco que entendi), lo regresa en una "lista", he > utilizado las librerias mas comunes para conectarme a MySQL desde > Python, el SQL ya funciona y me retorna esos valores de ejemplo. Lo que > quisiera hacer es convertir esto a tablas crosstab o pivot, como por > ejemplo: > > > * 1 2 3 > 4 5* > Arbol X X > X > Manzana X X X > Pera X X > X X > Platano X > Uva X Arnau te ha puesto una solución con "iteradores". Cuesta entenderlos al principio, pero una vez que has pillado el concepto no querrás dejar de usarlos. Su eficiencia en recursos utilizados han conseguido que casi todo en python se esté orientando a trabajar con estas estructuras. La documentación que ha puesto Arnau la tienes algo más actualizada en los howtos de python.org: http://docs.python.org/howto/functional.html También hay un howto sobre ordenaciones que te será muy útil: http://docs.python.org/howto/sorting.html De todos modos, si prefieres algo menos intimidante, aquí te pongo una solución empleando diccionarios: pivot={} for num,nombre in resultados: pivot.setdefault(nombre,[]).append(num) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJMhDe7AAoJEFdWyBWwhL4FswAIAKOLHHx+kk+tVlAMcShSmSnU k5xZPew6evKADcA/deKxbEOchFU01bcE9XhQmTZ3oThW7t/ZVhF2CGexJMO/H75D 0lE/nqzHBWCCAE1PDavE2sHu7k/PZtFPg4951B8XLNqdwCAX4gEmbraDSDmr6wi3 EGmtRyXf51T0RBrleL4VOdwon5TX8bnGHHlKraTNVjSC9XhMfFdKBxInWookPFRn N1UNhikTLGz7tKEFvcJaedin2Rk3ZYGxqZIom9X1mQmosFYcpJN4mZinW+4T+YIr jOcVA4agX+Mo6SJEon6FJ1iHBvMCgERyoklbwvZwOXhr8FfN4NRYtf7pJsjZ1VM= =bM9D -----END PGP SIGNATURE----- _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/