es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener la salida deseada, puedes usar una combinación de las funciones enumerate y join 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:

    col = [('rojo', '132', '234'), ('verde', '236', '434'), ('marrón', '542', '457')]
    
    for i, (color, _, _) in enumerate(col, 1):
        print(str(i) + " " + color)
    

    Salida:

    1 rojo
    2 verde
    3 marrón
    

    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 lista col. El bucle for luego desempaqueta cada tupla para obtener el nombre del color (almacenado en la variable color) e ignora los otros dos valores. La declaración print luego concatena el índice enumerado con el nombre del color usando el operador +.

Comments are closed.