排序后迭代 内置函数sorted()
sorted(iterable, /, *, key=None, reverse=False)
作用
将iterable根据key,reverse关键字按什么内容,和升序还是降序排序
返回值
Return a new sorted list from the items in iterable
参数要求
iterable
可迭代对象可以是属于内置类的也可以是自定义类
key=None
指定排序的规则 从items中抽取内容函数处理后返回的值作为items之间比较的标准
function that takes a single argument and returns a key to use for sorting purposes.
是一个只有一个参数和一个返回值的函数
默认直接按items用运算符“<”直接比较
如果是自定义类,实例的对象按类中__lt__()方法比较 推荐6种rich comparisons全部定义,防止bug
Student.__lt__ = lambda self, other: self.age < other.age sorted(student_objects) [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] |