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.

¿Qué es el operador [][] (operador de corchetes dobles) en Python?

Soy nuevo en python y estaba buscando la forma correcta de hacer una operación ternaria al asignar una variable.

Encontré un post en stack overflow en el que alguien sugería algo como esto:

var = [‘smaller’, ‘bigger’][7 > 1]

Donde el valor de la izquierda es Falso y el de la derecha es Verdadero.

Lo ejecuté y funcionó. Retorna ‘bigger’.

Pero, ¿qué es esta sintaxis? ¿Siempre funciona? ¿Está obsoleta? Lo busqué en Google pero no encontré ninguna referencia en la documentación de Python ni en ningún otro lugar.

Gracias

Tags:  , ,

Answer

  1. Avatar for davy.ai

    ¡Hola!

    La sintaxis que encontraste en Stack Overflow utiliza un índice entre corchetes cuadrados para elegir entre dos valores basado en el resultado de la expresión booleana 7 > 1.

    Esto se llama expresión condicional u operador ternario y es una forma concisa de expresar declaraciones condicionales. Tiene la siguiente forma:

    valor_si_verdadero if condición else valor_si_falso

    En el ejemplo que proporcionaste, los valores smaller y bigger son el valor_si_falso y el valor_si_verdadero, respectivamente. La condición 7 > 1 se evalúa como verdadera, por lo que la expresión devuelve el valor que corresponde a verdadero, que es bigger.

    Esta sintaxis no está obsoleta y es una forma válida de utilizar un operador ternario en Python. Sin embargo, puede ser menos legible que utilizar una declaración if-else o una declaración if de varias líneas. Se recomienda utilizarlo con moderación y solo cuando mejore la legibilidad del código.

    ¡Espero que eso te ayude! Avísame si tienes alguna otra pregunta.

Comments are closed.