Poner una declaración simple si-entonces-si no en una línea [duplicado]

Resuelto Abizern asked hace 14 años • 5 respuestas

¿Cómo escribo una declaración if- then- elseen Python para que quepa en una línea?

Por ejemplo, quiero una versión de una línea de:

if count == N:
    count = 0
else:
    count = N + 1

En Objective-C, escribiría esto como:

count = count == N ? 0 : count + 1;
Abizern avatar May 10 '10 19:05 Abizern
Aceptado

Esa es más específicamente una expresión de operador ternario que si-entonces, aquí está la sintaxis de Python

value_when_true if condition else value_when_false

Mejor ejemplo: (gracias Sr. Burns )

'Yes' if fruit == 'Apple' else 'No'

Ahora con asignación y contraste con la sintaxis if.

fruit = 'Apple'
isApple = True if fruit == 'Apple' else False

vs

fruit = 'Apple'
isApple = False
if fruit == 'Apple' : isApple = True
cmsjr avatar May 10 '2010 13:05 cmsjr

Además, aún puede utilizar la ifsintaxis "normal" y combinarla en una línea con dos puntos.

if i > 3: print("We are done.")

o

field_plural = None
if field_plural is not None: print("insert into testtable(plural) '{0}'".format(field_plural)) 
Johannes Braunias avatar Jul 07 '2012 08:07 Johannes Braunias