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