On 11/21/18 6:45 PM, Ian Kelly wrote:
> On Wed, Nov 21, 2018 at 2:53 PM Serhiy Storchaka <storch...@gmail.com> wrote:
>>
>> 21.11.18 22:17, Cameron Simpson пише:
>>> Can someone show me a real world, or failing that - sane looking,
>>> chained comparison using "in"?
>>
>>       s[0] == s[-1] in '\'"'
>>
>> Tests that string s starts and ends with a single or double quote.
>
> Clever, but too esoteric to use in practice. I'd rather make the
> chaining explicit.
>
>> It can be also used with sets:
>>
>>       elem in set1 <= set2
>
> I like this one better.

LOL:  I had exactly the opposite reaction.

The first one expresses exactly the idea that the first and last
elements of the string match and are quotation characters, as if I'd
written:

    (s[0] == s[-1]) and (s[0] in '\'"')

(Arguably too esoteric to be used in practice, *unless* profiling
indicates a necessary (before) and noticable (after) speed improvement.)

But the second one has to do an expensive subset operation.  If I think
"is elem in both sets," then I'd never write:

    (elem in set1) and (set1 <= set2)
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to