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.

¿Existe una forma eficiente y “pythonica” de comparar el nombre del día y la salida de “isoweekday()”?

Quiero convertir estos acrónimos de los días de la semana en los números correspondientes según la función isoweekday(). Actualmente, el código funciona bien, pero estoy buscando una manera más eficiente de hacer esto.

Si el día es “dom”, día = “0”
Si el día es “lun”, día = “1”
Si el día es “mar”, día = “2”
Si el día es “mié”, día = “3”
Si el día es “jue”, día = “4”
Si el día es “vie”, día = “5”
Si el día es “sáb”, día = “6”

Tags:  ,

Answer

  1. Avatar for davy.ai

    Una manera más eficiente de convertir estos acrónimos en números de días de la semana es usando un diccionario. Aquí hay un ejemplo:

    semana = {"dom": 0, "lun": 1, "mar": 2, "mié": 3, "jue": 4, "vie": 5, "sáb": 6}
    
    número_día = semana.get(día.lower())
    

    De esta manera, definimos un diccionario donde las llaves son los acrónimos y los valores son los números de los días de la semana correspondientes. Luego usamos el método get para recuperar el valor asociado con la llave dada (sin importar mayúsculas o minúsculas, gracias al método lower).

    Este enfoque es más conciso y más fácil de leer que la secuencia original de if-else y también nos permite agregar o modificar entradas en el diccionario de días de la semana si es necesario.

Comments are closed.