[Python-Dev] decorate-sort-undecorate
Raymond Hettinger
python at rcn.com
Thu Oct 16 10:26:50 EDT 2003
More information about the Python-Dev mailing list
Thu Oct 16 10:26:50 EDT 2003
- Previous message: [Python-Dev] decorate-sort-undecorate
- Next message: [Python-Dev] decorate-sort-undecorate
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Alex Martelli] > I thought the idea being implemented avoided making a new list -- > i.e., that the idea being implemented is the equivalent of: > > # decorate > for i, item in enumerate(thelist): > thelist[i] = CleverWrapper((key(item), item)) > > # sort (with the new stability guarantee) > thelist.sort() > > # undecorate > for i, item in enumerate(thelist): > thelist[i] = item[1] > > where (the equivalent of): > > class CleverWrapper(tuple): > def __cmp__(self, other): return cmp(self[0], other[0]) > > so, there is no allocation of another list -- just (twice) a repopulation > of the existing one. How _important_ that is to performance, I dunno, > but wanted to double-check on my understanding of this anyway. Yes, that is how it works in a nutshell ;-) Of course, it looks more impressive and was harder to write in C. Raymond Hettinger
- Previous message: [Python-Dev] decorate-sort-undecorate
- Next message: [Python-Dev] decorate-sort-undecorate
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list