¿Enumerar y obtener el primer elemento de cada tupla?
Cómo pasar de esto:
col = [('red', '132', '234'), ('green', '236', '434'), ('brown', '542', '457')]
a esto:
EDIT
1 red, 2 green, 3 brown # enumere y obtenga el primer elemento de cada tupla.
Intenté esto, pero no funciona:
[zip(((enumerate(col),1),i[0])) for i in col]
Por favor, solo funciones incorporadas.
davy.ai
Para obtener la salida deseada, puedes usar una combinación de las funciones
enumerate
yjoin
para iterar a través de la lista de tuplas y unir el primer elemento (los nombres de los colores) con su índice enumerado respectivo. Aquí está el código para lograr esto:Salida:
En el código anterior,
enumerate(col, 1)
crea un generador que devuelve tuplas con el índice enumerado (comenzando en 1) y cada una de las tuplas en la listacol
. El buclefor
luego desempaqueta cada tupla para obtener el nombre del color (almacenado en la variablecolor
) e ignora los otros dos valores. La declaraciónprint
luego concatena el índice enumerado con el nombre del color usando el operador+
.