[pyar] IF de una línea

david weil tenuki en gmail.com
Dom Oct 17 10:47:18 ART 2010


2010/10/15 Diego E. Ahumada <eddie.cpp en gmail.com>:
> 2010/10/15 Carlos Joel Delgado Pizarrro <carlosj2585 en gmail.com>
>> El 15 de octubre de 2010 17:43, Carlos Do Carmo <cdocarmo en cdsoft.com.uy>
>> escribió:
>>> xResultado = "S" if (xValor != False) else "N"
>>
>> Yo lo uso así:
>> resultado = ("Valor si es falso", "Valor si es verdadero")[Condicion]

> Esta muy buena esa forma, pero para que quede limpio requiere que la
> condición sea numérica.
> En mi caso la variable es booleana.

Otro problema, es que no es exactamente lo mismo que el " .. if ..
else .." porque no es lazy:

Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def f():
...     print 'f'
...
>>> def g():
...     print 'g'
...
>>> r = f() if True else g()
f
>>> r = (g(), f())[True]
g
f

(aca se ve que ambas, f y g se ejecutan en el segundo caso, aunque r
quede asignada al valor correcto).

Saluc.
-- 
 There is no dark side of the moon really. Matter of fact it's all dark.



More information about the pyar mailing list