sorted() 函数对所有可迭代的对象进行排序操作。
# ===========一般用法:===========# 1、简单排序a = [5,7,6,3,4,1,2]b = sorted(a) # 使用sorted,保留原列表,不改变列表a的值print(a)[5, 7, 6, 3, 4, 1, 2]print(b)[1, 2, 3, 4, 5, 6, 7]# ===========匿名函数用法:===========L=[('b',2),('a',1),('c',3),('d',4)]# 2、利用参数 cmp 排序sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))# 结果:[('a', 1), ('b', 2), ('c', 3), ('d', 4)]# 3、利用参数 key 排序sorted(L, key=lambda x:x[1]) # 用来根据key值排序元组# 结果:[('a', 1), ('b', 2), ('c', 3), ('d', 4)]# 4、按年龄升序students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]sorted(students, key=lambda s: s[2])# 结果:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]# 5、按年龄降序sorted(students, key=lambda s: s[2], reverse=True)# 结果:[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]names = ['David Beazley', 'Brian Jones', 'Raymond Hettinger', 'Ned Batchelder']sorted(names, key=lambda name: name.split()[-1].lower()) # 按照第二个名字排序"""['Ned Batchelder', 'David Beazley', 'Raymond Hettinger', 'Brian Jones']
