python內建函式 sorted
阿新 • • 發佈:2019-01-23
sorted(iterable, cmp=None, key=None, reverse=False) 在python3.0中cmp引數被刪除了
1.sorted()內建函式返回一個新的序列,它可以對任何iterable物件排序
list.sort() 沒有返回值,它對原來的序列進行排序,這個函式只是用list
2.key引數
key引數是一個函式,這個函式作用於iterable物件的每一個元素,返回一個值,sorted函式根據返回的值進行排序
rest = [('jhon', 'A', 23), ('mary', 'C', 34), ('Bob', 'B', 13) ] sorted(rest, key=lambda x: x[1]) #以成績排序 sorted(rest, key=lambda x: x[2]) #以年齡排序
對list中的字典進行排序:
rest = [
{'name':'lucy', 'age': 22, 'grade':90},
{'name':'ham', 'age':34, 'grade':78},
{'name':'blus', 'age':18, 'grade': 89}
]
sorted(rest, key=lambda x: x.get('name','')) #以 name 來排序
sorted(rest, key=lambda x: x.get('grade','')) #以 grade 來排序
對字典進行排序:
rest ={ '1':{'name':'Lucy', 'age':67}, '2':{'name':'Spam', 'age':12}, '3':{'name':'Bob', 'age':34}, '4':{'name':'Joe', 'age':27} } rest = sorted(rest.items(), key=lambda x: x[1].get('age',' '), reverse=True) #以age降序排列