On 05/03/2017 20:16, Ed Kellett wrote:
On Sun, 5 Mar 2017 at 19:54 David Mertz <[email protected] <mailto:[email protected]>> wrote:In terms of an actual use case, I can see it for "Lists no longer than 4". That's an excessively hard limit. Any other use of this hypothetical method would be an anti-pattern What really is the point of this? You (not uniquely) have been quick to dismiss any uses for this as misguided. If you must do that, you might stick to the reasons; meaningless labels don't add anything. Yes, programmers can do what they want, but providing a method is a hint to users (especially beginners, but not only) that that is the "right way" to do it. I really think that depends what it's a list of. If the positions of things in the list are important (as with an argument parser, or perhaps a lookup table) I fail to see why it would be wrong to peek. But the positions NEVER are important when you get to a 20 item list. If you design an argument parser that is looking for "the 17th argument" you are doing it wrong. I'm not saying that's impossible (nor even hard) to program, but it's not good practice. That's probably true of argument parsers, certainly not lookup tables. Sure, I'm happy to take 20+ arguments, especially if they result from a glob pattern used at the command line, naming files. But when I'm doing that, I want to deal with those filenames in a loop, handling each one as necessary. In that pattern, I *never* want exactly 20 arguments, but rather "however many things there are to handle." If lists were really designed to be used only as you and some others in this thread are suggesting, I don't think they'd have indexed access at all. Actually, when I teach I make a big point of telling students (for me, professional scientists and programmers who have used other PLs) that if they are indexing a list they should look again and question whether that's the right pattern. Of course there are times when it's needed, but they are fewer than C, Java, or Fortran programmers think. I don't think that assessment applies neatly everywhere. Indexing is generally unnecessary when it's being used instead of iteration, but this thread is explicitly about cases where iteration isn't wanted. Ed
Patches are always welcome. If you insist that it's needed, you do the work. Hopefully it's easier with the move to github.
-- My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language. Mark Lawrence _______________________________________________ Python-ideas mailing list [email protected] https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
