天天看點

python排序,sorted、sort函數

sorted(iterable[, cmp[, key[, reverse]]])
iterable.sort(cmp[, key[, reverse]])
           

參數解釋:

 (1)iterable指定要排序的list或者iterable,不用多說;

 (2)cmp為函數,指定排序時進行比較的函數,可以指定一個函數或者lambda函數,如:students為類對象的list,每個成員有三個域,用sorted進行比較時可以自己定cmp函數,例:通過比較第三個資料成員來排序,代碼:

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
f = sorted(students, key=lambda student : student[2])
print(f)

結果:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
           

 (3)key為函數,指定取待排序元素的哪一項進行排序,函數用上面的例子來說明,代碼如下:

sorted(students, key=lambda student : student[2])
           

二、list按長度排序

       sorted或者 list.sort()進行排序,内置sorted傳回一個新的清單,而list.sort是對清單進行操作;reverse:排序規則:reverse = True  降序、False 升序

list = ['産業集團','電子資訊産業集團','資訊産業集團','中國電子資訊産業集團']  
list1 = sorted(list,key = lambda i:len(i),reverse=True)  
print(list1) 
list.sort(key = lambda i:len(i),reverse=True)
print(list)