copysort patch, was RE: [Python-Dev] inline sort option
Alex Martelli
aleaxit at yahoo.com
Sat Oct 18 07:31:17 EDT 2003
On Saturday 18 October 2003 11:44 am, Mark Russell wrote:
> On Sat, 2003-10-18 at 07:07, Brett C. wrote:
> > I'm -1 as well. Lists do not need to grow a method for something that
> > only replaces two lines of code that are not tricky in any form of the
> > word.
>
> And don't forget that the trivial function will sort any iterable, not
> just lists. I think
>
> for member in copysort(someset):
>
> is better than
>
> for member in list(someset).copysort():
>
> I'm against list.copysort(), and for either leaving things unchanged or
> adding copysort() as a builtin (especially if it can use the reference
> count trick to avoid unnecessary copies).
The trick would need to check that the argument is a list, of course,
as well as checking that the reference to it on the stack is the only
one around. But given this, yes, I guess a built-in would be "better"
by occasionally saving the need to type a few extra characters (though
maybe "worse" by enlarging the built-in module rather than remaining
inside the smaller namespace of the list type...?).
The built-in, or method, 'copysort', would have to accept the same
optional arguments as the sort method of lists has just grown, of course.
Alex
More information about the Python-Dev
mailing list