內(nèi)置函數(shù)sorted用于對(duì)可迭代對(duì)象進(jìn)行排序剥汤。
函數(shù)原型: sorted(iterable, * , key=None, reverse=False)
參數(shù)說明:
iterable:可迭代對(duì)象,比如列表,字符串,字典等等
key:作用于可迭代對(duì)象的每個(gè)元素函數(shù),該函數(shù)返回一個(gè)新的值闷串,該值參與真正的排序,
如果key為None,則直接使用可迭代對(duì)象元素進(jìn)行排序
reverse:是否倒序,默認(rèn)順序排序(從小到大),如果設(shè)置該值為True,則是從大到小進(jìn)行排序
元組列表排序
#迭代對(duì)象 元素=(名字奥邮,成績(jī))
tuple_l = [('Bob',75), ('Adam', 92), ('Bart', 66), ('Lisa',88)]
#對(duì)上門的元組使用名字進(jìn)行排序
def by_name(t):
#t:該參數(shù)為可迭代對(duì)象tuple_l的元素闻丑,為一個(gè)元組 ('Bob',75)懒构、('Adam',92)十兢、...
#返回元組的第一個(gè)元素返回用于排序,Bob趣竣、Adam、Bart旱物、Lisa
return t[0]
#將可迭代對(duì)象tuple_l的每個(gè)元素 ('Bob',75)遥缕、('Adam',92)、...經(jīng)過key對(duì)應(yīng)的函數(shù)進(jìn)行轉(zhuǎn)換
#('Bob',75)->by_name(('Bob',75))->'Bob'
#('Adam',92)->by_name(('Adam',92))->'Adam'
#('Bart',66)->by_name(('Bart',66))->'Bart'
#('Lisa',88)->by_name(('Lisa',88))->'Lisa'
sorted_result = sorted(tuple_l, key=by_name)
= sorted(tuple_l, ('Bob','Adam', 'Bart', 'Lisa'))
print(sorted_result )
#結(jié)果
[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]