George Sakkis wrote: > "Jason" <jason at jasonmhirst.co.uk> wrote: > >> What I'd like to know is do you think it would be better to sort the >> list in memory, or print it out sorted? If the latter, then naturally >> I'd need to change the showScores section to show the list in a reverse >> order. But, would sorting the list in memory be more effective? > > The list *is* sorted; the thing is that it is in ascending order (from lowest to highest) but you > would rather have it in descending. There are (at least) two alternatives: > > 1. Keep the list as it is now in ascending order and print it in reverse. In python 2.4, this is as > elegant and efficient as it can, using the reversed() builtin function. Just replace in showScores > "for score,name in self.hiScores" with "for score,name in reversed(self.hiScores)". reversed() > returns an iterator over the sequence, not a new list, so the memory overhead is minimal. > > 2. Instead of storing (score,name) pairs, store (-score,name). When a list of the latter is in > ascending order, the former is in descending. In this case of course, you have to make sure that > showScores() and lastScore() return the actual (positive) score, not the stored (negative) one. > > I would go for the first alternative but YMMV. > > George > > Thanks George, I've learned a lot tonight.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4