2011-11-14 6 views
18

Por alguna razón no recuerdo cómo hacerlo. Creo que había una manera de establecer una variable en Python, si una condición era cierta. Lo que quiero decir es esto:Configuración de variable condicional de Python

value = 'Test' if 1 == 1 

Dónde sería de esperar que establece valor de 'prueba' si la condición (1 == 1) es verdadera. Y con eso, que iba a probar para múltiples condiciones para establecer diferentes variables, como esto:

value = ('test' if 1 == 1, 'testtwo' if 2 == 2) 

y así sucesivamente por unos pocos condiciones. es posible?

Respuesta

32

Esto es lo más parecido a lo que busca:

value = 'Test' if 1 == 1 else 'NoTest' 

De lo contrario, no hay mucho más.

+1

Ah, me faltaba el "else", y no me decía que lo necesitaba. Supongo que debería haberlo sabido, ya que si la condición no es igual, no se configuraría para nada. ¡Gracias! – SolarLune

+1

En caso de que no sea obvio, puede encadenar estos (como en 'value = v1 si c1 else v2 si c2 else v3'). Una alternativa es usar un diccionario. – James

2

No. Python tiene un constructo ternario if/else, pero no hay forma de vincular condicionalmente un nombre en una declaración de asignación.

Cuestiones relacionadas