# sort.py   
# 这个类用来演示如何对自定义对象进行排序   
class Sortobj:   
    a = 0   
    b = ''   
    def __init__(self, a, b):   
        self.a = a   
        self.b = b   
    def printab(self):   
        print self.a, self.b   
   
# 演示对字符串列表进行排序   
samplelist_str = ['blue','allen','sophia','keen']   
print samplelist_str   
samplelist_str.sort()   
print samplelist_str   
   
print '\n'   
   
# 演示对整型数进行排序   
samplelist_int = [34,23,2,2333,45]   
print samplelist_int   
samplelist_int.sort()   
print samplelist_int   
   
print '\n'   
   
# 演示对字典数据进行排序   
sampledict_str = {'blue':'5555@sina.com',   
                  'allen':'222@163.com',   
                  'sophia':'4444@gmail.com',   
                  'ceen':'blue@263.net'}   
print sampledict_str   
# 按照key进行排序   
print sorted(sampledict_str.items(), key=lambda d: d[0])   
# 按照value进行排序   
print sorted(sampledict_str.items(), key=lambda d: d[1])   
   
# 构建用于排序的类实例   
obja = Sortobj(343, 'keen')   
objb = Sortobj(56, 'blue')   
objc = Sortobj(2, 'aba')   
objd = Sortobj(89, 'iiii')   
   
print '\n'   
   
samplelist_obj = [obja, objb, objc, objd]   
# 实例对象排序前   
for obj in samplelist_obj:   
    obj.printab()   
print '\n'   
# 按照对象的a属性进行排序   
samplelist_obj.sort(lambda x,y: cmp(x.a, y.a))   
for obj in samplelist_obj:   
    obj.printab()   
print '\n'   
# 按照对象的b属性进行排序   
samplelist_obj.sort(lambda x,y: cmp(x.b, y.b))   
for obj in samplelist_obj:   
    obj.printab()   


转自: http://www.douban.com/note/13460891/\

http://yangsq.iteye.com/blog/128508

http://www.baozi.in/2011/06/%e7%81%b0%e5%b8%b8%e8%af%a6%e7%bb%86%e7%9a%84%e5%bc%80%e6%ba%90%e4%b8%9c%e4%b8%9c/