Can I use a conditional in a variable declaration?
Jeffrey Schwab
jeff at schwabcenter.com
Sun Mar 19 00:16:13 EST 2006
volcs0 at gmail.com wrote:
> I want the equivalent of this:
>
> if a == "yes":
> answer = "go ahead"
> else:
> answer = "stop"
>
> in this more compact form:
>
> a = (if a == "yes": "go ahead": "stop")
>
> is there such a form in Python? I tried playing around with lambda
> expressions, but I couldn't quite get it to work right.
Rather than lambda, this merits a named function. You only have to
define it once.
def mux(s, t, f):
if s:
return t
return f
def interpret(a):
answer = mux(a == "yes", "go ahead", "stop")
print answer
interpret("yes") # Prints "go ahead."
interpret("no") # Prints "stop."
More information about the Python-list
mailing list