sordted()は安定ソート
安定ソートか確認
import random import operator def test_list_sort(): class Person(object): def __init__(self, name, age): self.name = name self.age = age def __repr__(self): return repr((self.name, self.age)) persons = [] for n in range(10): persons.append( Person('name%05d' % n, random.randint(1, 3)) ) result = sorted(persons, key = operator.attrgetter('age')) for person in result: print person if __name__ == '__main__': test_list_sort()
('name00002', 1) ('name00005', 1) ('name00007', 1) ('name00000', 2) ('name00003', 2) ('name00004', 2) ('name00001', 3) ('name00006', 3) ('name00008', 3) ('name00009', 3)
確かに。