On 17/05/2020 19:43, David Mertz wrote:
On Sun, May 17, 2020 at 2:09 PM Nathan Schneider <[email protected]
<mailto:[email protected]>> wrote:
If you want a better metaphor: Some door handles include
locks, others do not. "Strict" ones have locks. So yes, it's
possible to leave the lock in the unlocked position, and then
it functions pretty much the same as one without a lock. But
likewise, it's possible to leave the door in the locked
position when you don't have the key on you, and you face a
significant inconvenience that serves no purpose.
For some of us, strictness is a property that users often want
when they use zip(), whether they are properly enforcing it or
not—so giving them a really easy way to opt into it would help
avoid bugs. (Personally, I cannot remember the last time I
actually wanted non-strict zip.)
I think David is saying that he more often wants non-strict zip,
and it would be tempting and dangerous to make strict-zip too easy
to use for those who aren't thinking carefully about their code,
so it would be better to bury strict-zip in itertools for the
power users who really know they need it. (Is that a fair summary?)
The API matter is really orthogonal to this. My point here is that
Nathan and some other discussants are operating under the assumption
that: "Everyone really wants strict-zip but they just haven't had a
way to express it conveniently. They all assume their iterables are
the same length already, so this just adds a check."
I disagree strongly with that assumption. I think that the actual
majority of my uses of zip are non-strict.
David, you have made this point at great length - we get it.
But it seems clear to me (YMMV) that you are in a small minority.
And nobody is suggesting changing the default behaviour of zip. Your
code won't break.
But a lot of users (including you, in a minority of cases) can, *if they
choose*, benefit from a 'strict' version.
So what is wrong (ceteribus paribus) with making it easy for them to do so?
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/O4N4JHH67RQJVVCNETJJK6ZVT5MFLOPJ/
Code of Conduct: http://python.org/psf/codeofconduct/