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}]