On Sat, Aug 20, 2016 at 3:54 PM Michael Selik <michael.se...@gmail.com>
wrote:

> On Fri, Aug 19, 2016 at 8:55 AM Neil Girdhar <mistersh...@gmail.com>
> wrote:
>
>> Sure.
>>
>> http://bugs.python.org/issue27802
>>
>>
>> On Friday, August 19, 2016 at 8:36:39 AM UTC-4, Emanuel Barry wrote:
>>>
>>> Arek Bulski wrote:
>>>
>>> > Could use all(a==b for zip(seq,seq2))
>>>
>>>
>>>
>>> Or even `all(itertools.starmap(operator.eq, zip(a, b)))` if you prefer,
>>> but this isn’t about how easy or clever or obfuscated one can write that;
>>> it’s about convenience. ABCs expose the lowest common denominator for
>>> concrete classes of their kind, and having __eq__ makes sense for Sequence
>>> (I’m surprised that it’s not already in).
>>>
>>>
>>>
>>> I think we can skip the Python-ideas thread and go straight to opening
>>> an issue and submitting a patch :) Neil, care to do that?
>>>
>>>
>>>
>>> -Emanuel
>>>
>>
> tuples and lists are both Sequences, yet are not equal to each other.
>
>     py> [1] == (1,)
>     False
>
> As long as you treat them as an ABC.Sequences, they _should_ be equal. One
can think of a static method Sequence.equals(a, b) for that purpose.

Of course, that's not how it's done in dynamic languages such as Python (or
Java!), so implementing the default __eq__ this way will break symmetry.

~Elazar
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to