On 10/25/14 1:03 AM, Steven D'Aprano wrote:
alister wrote:

>On Fri, 24 Oct 2014 10:20:30 -0700, Dan Stromberg wrote:
>
>>On Fri, Oct 24, 2014 at 1:38 AM, Steven D'Aprano
>><steve+comp.lang.pyt...@pearwood.info>  wrote:
>>>I don't get why that's considered hard to read.
>>
>>>So why is it hard to read when the index is a flag?
>>>
>>>value = [f, g][cond]()
>>
[Dan]
>>It's clear to you, it's clear to me, but is it clear to everyone?  I
>>very much doubt it.
Of course it won't be clear to*everyone*  but it should be clear enough to
people who are familiar with standard Python idioms. A concrete example
should be more obvious than the fake example:

title = ('Mr', 'Ms')[person.sex == 'F']

which should be clear to anyone who understands indexing in Python and that
True == 1 and False == 0.

You mention "standard Python idioms." I think this style of conditional-via-indexing is becoming quite uncommon, and is no longer one of the standard Python idioms. This is now in the category of "outdated hack."

Yes, its meaning is well-defined by the language. But no, its meaning is not immediately apparent to most of today's Python programmers.

Of course, opinions obviously differ.

--
Ned Batchelder, http://nedbatchelder.com

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to