[EMAIL PROTECTED] wrote:
> I've done this in Scheme, but I'm not sure I can in Python.
>
> 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.
I sometimes find it useful to do:
answers = {True: "go ahead", False: "stop"}
answer = answers[a == "yes"]
This is also sometimes useful when you want to alternate between two values.
values = {'a':'b', 'b':'a'} # define outside loop
while 1:
v = values[v] # alternate between 'a' and 'b'
...
There are limits to this, both the keys and the values need to be hashable.
Cheers,
Ron
--
http://mail.python.org/mailman/listinfo/python-list