Brett Cannon writes: > On Tue, Feb 19, 2019 at 6:23 AM Jimmy Girardet <i...@netc.fr> wrote:
> > I would be happy to have > > > > >>> [1,2,3].append(4)::sort()::max() +1 > > > > It makes things very easy to read: first create list, then append 4, > > then sort, then get the max. (Responding to the OP) In most cases, where one doesn't care about performance, one can rewrite as max(a := sorted([1, 2, 3] + [4])) + 1 This also tells you something about readability. I find the "dot-chaining" style easier to analyze than the nested function call style, because the methods are applied left-to-right and few inline operators are interpreted with right associativity -- note that this is a runtime decision! Where I don't care about analysis at this site, I define a function. If I do care about performance, writing it out line by line helps to emphasize that and to optimize well. I think given the current design with its long history, it would be more useful to identify pain points where functions like sorted() don't exist. > Also realize that design is on purpose so that mutating method > calls on lists do not return themselves to get the point across > that the mutation was in-place and not in fact a new list. I have come to think that this is suboptimal. Now I would like to experiment with a Python-like language where methods *always* return self, and where returning something else makes sense, Python-oid should provide a function that does that. Of course there would be an exception for dunders. It's not irritating enough to actually do this, though. :-) Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/