Saltar al contenido

¿Cómo dividir una lista de tuplas en python?

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *