Sorting a list of classes
Quinn Dunkan
quinn at ngwee.ugcs.caltech.edu
Mon Apr 24 00:26:16 EDT 2000
On Mon, 24 Apr 2000 00:08:49 -0400, lexberezhny <lexberezhny at email.msn.com>
wrote:
>If i have a python list of classes, can i do something like classList.sort()
>and how can i control this behavior within the classes. ie
>i have a address book, and a have a class called 'Person', and it has an
>attribute Person.Name, so i have a list of 'Person's how can i sort the
>list, and maybe sort it by name? do i have to write my own function or can i
>use list.sort() some how?
See the docs for sort():
addr_book.sort(lambda a, b: cmp(a.name, b.name))
Alternately, since you wanted the logic in the class (see the lang ref under
"special method names"):
class Person:
... methods ...
def __cmp__(self, other):
return cmp(self.name, other.name)
More information about the Python-list
mailing list