Ron Adam  <[EMAIL PROTECTED]> wrote:
>[EMAIL PROTECTED] wrote:
>> I want the equivalent of this:
>> 
>> if a == "yes":
>>    answer = "go ahead"
>> else:
>>    answer = "stop"
>> 
>> in [a] more compact form:
>I sometimes find it useful to do:
>
>     answers = {True: "go ahead", False: "stop"}
>     answer = answers[a == "yes"]

In this particular case, you can get it even more compact as

answer = {"yes": "go ahead"}.get(a, "stop")

but that's sacrificing elegance and readability for bytes. When I find
myself with code like the OP's, I usually rewrite as:

answer = "stop"
if a == "yes":
    answer = "go ahead"

-- 
\S -- [EMAIL PROTECTED] -- http://www.chaos.org.uk/~sion/
  ___  |  "Frankly I have no feelings towards penguins one way or the other"
  \X/  |    -- Arthur C. Clarke
   her nu becomeþ se bera eadward ofdun hlæddre heafdes bæce bump bump bump
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to