[Python-ideas] Shuffled
Sven R. Kunze
srkunze at mail.de
Wed Sep 7 19:00:55 EDT 2016
On 08.09.2016 00:41, Matt Gilson wrote:
> I lurk around here a lot more than I actually post -- But in this case
> I find myself weighing in firmly on the side of "please don't add
> this". It'd just add noise in the documentation and __builtins__
> namespace. There are millions of useful functions that /could/ be
> added to the `list` object (or to the `__builtins__` namespace). It's
> the job of the core dev team to decide which are the most useful for
> everybody and this is one where (in my opinion) the usefulness doesn't
> justify the additional clutter.
>
> It seems like the primary argument for this is that some users would
> like to have this functionality baked into an interactive session.
Maybe, it wasn't obvious (despite I thought so), but I also don't see it
in the built-ins. Another function in the "random" module would just
suffice.
But still, this is not my proposal, so I am gonna wait for what Arek
brings up.
Sven
> If that's the case, then I'd like to point out that if you find
> yourself wanting this in an interactive session frequently there is an
> interactive startup file
> <https://docs.python.org/3/tutorial/appendix.html#the-interactive-startup-file>
> that you can modify so that this function will always be available to
> /you/ whenever you start up an interactive session (and you can put
> whatever else in there that you like as well :-).
>
> I hope that helps.
>
> On Wed, Sep 7, 2016 at 3:22 PM, Sven R. Kunze <srkunze at mail.de
> <mailto:srkunze at mail.de>> wrote:
>
> Maybe, there's a misunderstanding here and I hope I didn't waste
> too much of your and my time.
>
> Not sure where I got this from but my last status was that Arek
> would like to have a "shuffled" function that does exactly what
> you described. Maybe, that doesn't fit the reports description but
> his pull request will tell the truth. :)
>
>
> About the confusion of returning None. It's not confusing in the
> sense of "o my god, I did it wrong, I need to learn it", but more,
> like "I used shuffle, BECAUSE it's the only one I could find in a
> hurry" and then ascertain "why the heck is there no alternative
> returning the shuffled result instead of overwriting my list? I
> would expect this from Python as it already provides both
> alternatives for sorting".
>
>
> Sven
>
>
>
> On 08.09.2016 00:02, Tim Peters wrote:
>
> [Sven R. Kunze <srkunze at mail.de <mailto:srkunze at mail.de>>]
>
> I am not questioning experience which everyone in a team
> can benefit from.
>
>
> BUT experienced devs also need to recognize and respect
> the fact that
> younger/unexperienced developers are just better in detecting
> inconsistencies and bloody work-arounds. They simply
> haven't had to live
> with them for so long. Experienced devs just are stuck in
> a rut/are
> routine-blinded: "we've done that for years", "there's no
> better way".
>
>
> That's the way we do it in our teams. Employing the new
> guys as some sort of
> inconsistency detectors. This way, they learn to find
> their way around the
> code base and they can improve it by doing so.
>
> And I would never allow it in my team, to dismiss this
> kind of observation
> from new colleagues. It's invaluable as they will become
> routine-blinded as
> well.
>
> I have been more than willing to discuss it, and I did not
> close the
> issue report. I did say I was opposed to it, but that's simply
> because I am, and I explained there too _why_ I was opposed.
>
> Do you have anything to say about the specific proposal? I doubt
> either of us has found this meta-discussion useful. I'm still
> looking
> for a compelling use case. The only concrete thing anyone has
> noted
> in `shuffled()`'s favor so far is that sometimes they're
> surprised by
> the behavior of random.shuffle(list) returning None in an
> interactive
> shell (noted by you, and by another, and I cheerfully own up
> to being
> a bit surprised by that too long ago). But that's an observation
> about `random.shuffle()`, not about the proposed `shuffled()`.
>
>
> [...] I would be far more annoyed if, e.g.,
>
> random.shuffle(some_million_element_list)
>
> swamped my terminal with mountains of output.
>
> But you readily accept this behavior for "sorted"? That
> makes no sense at
> all.
>
> Of course it does. The only analogy to random.shuffle(big_list)
> returning None that makes a lick of sense here is that
> big_list.sort()
> also returns None. IF a `shuffled()` function is introduced,
> then of
> course it should return its result - just like `sorted()`
> returns its
> result.
>
>
> You can't both behaviors simultaneously, so the status
> quo wins.
> Indeed, the venerable status quo ;-)
>
> Nobody said to change "shuffle".
>
> A verbatim quote from the first message in this thread:
>
> "Also shuffle() should return self so mutating methods
> could be chained."
>
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org <mailto:Python-ideas at python.org>
> https://mail.python.org/mailman/listinfo/python-ideas
> <https://mail.python.org/mailman/listinfo/python-ideas>
> Code of Conduct: http://python.org/psf/codeofconduct/
> <http://python.org/psf/codeofconduct/>
>
>
>
>
> --
>
> pattern-sig.png
>
> Matt Gilson// SOFTWARE ENGINEER
>
> E: matt at getpattern.com <mailto:matt at getpattern.com>// P: 603.892.7736
>
> We’re looking for beta testers. Go here
> <https://www.getpattern.com/meetpattern>to sign up!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160908/1e518800/attachment-0001.html>
More information about the Python-ideas
mailing list