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.

Problema con el elemento de formato de la lista en 2 lugares.

Estoy tratando de formatear mis datos en 2 lugares. Si solo contiene 1 elemento, debería añadir un 0 a este. Por ejemplo new_time = [10,52] Mi resultado deseado es [10,52] Para [10,5] Mi resultado deseado es [10,05] Leí acerca de este método new_time = [new_time[0],new_time[1]:02]. Pero la salida de esto es sintaxis inválida. ¿Alguien sabe por qué no funciona? Hice un ejercicio similar y funcionó.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    La razón por la cual la sintaxis new_time = [new_time[0],new_time[1]:02] es inválida es porque el especificador de formato debería ser usado para formateo de cadenas, no para formatear elementos de listas.

    Para lograr la salida deseada, puedes usar el formateo de cadena para convertir los enteros en cadenas con ceros iniciales, y luego convertirlos de regreso a enteros antes de añadirlos a la lista.

    Aquí hay un fragmento de código de ejemplo que logra la salida deseada:

    new_time = [10, 52]
    
    for i in range(len(new_time)):
        new_time[i] = int("{:02d}".format(new_time[i]))
    
    print(new_time) # Salida: [10, 52]
    
    new_time = [10, 5]
    
    for i in range(len(new_time)):
        new_time[i] = int("{:02d}".format(new_time[i]))
    
    print(new_time) # Salida: [10, 5]
    

    En este código, recorremos cada elemento de la lista y usamos el formateo de cadena para añadir un cero inicial si el elemento contiene solo un dígito. Luego, convertimos la cadena formateada de regreso a un entero y lo almacenamos en la lista original.

Comments are closed.