Si te encuentras con alguna parte que no entiendes nos puedes dejar un comentario y te responderemos lo más rápido posible.
Solución:
Puedes usar *
desempacar con zip()
.
>>> l = [(0,'a'), (1,'b'), (2,'c')]
>>> for item in zip(*l)[0]:
... print item,
...
0 1 2
Para Python 3, zip()
no produce un list
automáticamente, por lo que tendría que enviar el zip
oponerse a list()
o usar next(iter())
o algo:
>>> l = [(0,'a'), (1,'b'), (2,'c')]
>>> print(*next(iter(zip(*l))))
0 1 2
Pero el tuyo ya está perfectamente bien.
Tu solución me parece la más pitónica; también podrías hacer
tuples = [(0,'a'), (1,'b'), (2,'c')]
print zip(*tuples)[0]
… pero para mí eso es demasiado “inteligente”, y la versión de comprensión de listas es mucho más clara.
Acuérdate de que tienes autorización de esclarecer tu experiencia si te fue de ayuda.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)