sorted函数参数:
sorted(data, key=None, reverse=False)
其中,data是待排序数据,可以是List或者iterator, cmp和key都是函数,这两个函数作用于data的元素上产生一个结果,sorted方法根据这个结果来排序。
key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None, 即直接比较每个元素.
reverse=True则是倒序,reverse=false时则是顺序,默认时reverse=False
#列表排序例子
example = [('张三', 'A', 85), ('李四', 'c', 60), ('王五', 'B', 95)]#姓名、级别、分数
#用key排序
sorted(example, key=lambda x : x[1]) # 按级别排序
#out:[('张三', 'A', 85), ('王五', 'B', 95), ('李四', 'c', 60)]
sorted(example, key=lambda x : x[2]) # 按分数排序
#Out: [('李四', 'c', 60), ('张三', 'A', 85), ('王五', 'B', 95)]
#用 operator 函数来加快速度
from operator import itemgetter
sorted(example, key=itemgetter(2))
#Out: [('李四', 'c', 60), ('张三', 'A', 85), ('王五', 'B', 95)]
#用 operator 函数进行多级排序
sorted(example, key=itemgetter(1,2))#先按分数再按级别
#Out: [('张三', 'A', 85), ('王五', 'B', 95), ('李四', 'c', 60)]
#字典排序例子
d={'A':85,'C':60,'B':95}
#对key值排序
sorted(d.keys())
#Out: ['A', 'B', 'C']
#按value值对字典排序
sorted(d.items(),key=lambda x:x[1])#
#Out: [('C', 60), ('A', 85), ('B', 95)]
#按key值对字典排序
sorted(d.items(),key=lambda x:x[0])
#Out:[('A', 85), ('B', 95), ('C', 60)]
如果对你有帮助,请点下赞,予人玫瑰手有余香!