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/