1.sorted()和sort()
区别:sort是列表的方法,而sorted()是一个内置函数,sorted得到的结果会产生一个新的被排序的变量,之前的变量是不变的,所以元组排序甚至可以用sorted(元组),因为元组不可变可以用sorted排序得到新的元组
如果是列表的话就可以直接用sort方法排序了
2.sort()指定排序规则
比如:students.sort(key=lambda student:student["age"])
这表示指定按照student的age进排序。匿名函数作为参数。找到排序规则,这里的排序规则要求就是一个函数类型的参数
students=[ {"name":"Alex","age":12,"height":175}, {"name":"Jerry","age":18,"height":172}, {"name":"Bob","age":22,"height":180}, {"name":"Tom","age":14,"height":166} ] students.sort(key=lambda student:student["age"]) print(students) #实现机制,其实和定义一个函数,返回值指定为排序规则。s如果打印出来其实就是每一个元素和lambda中的student是一个意思 def foo(s): return s["height"] students.sort(key=foo) print(students) -------------------------------------------------------------------------------- [{'name': 'Alex', 'age': 12, 'height': 175}, {'name': 'Tom', 'age': 14, 'height': 166}, {'name': 'Jerry', 'age': 18, 'height': 172}, {'name': 'Bob', 'age': 22, 'height': 180}] [{'name': 'Tom', 'age': 14, 'height': 166}, {'name': 'Jerry', 'age': 18, 'height': 172}, {'name': 'Alex', 'age': 12, 'height': 175}, {'name': 'Bob', 'age': 22, 'height': 180}]