li = [1,4,76,23,32] print(li.sort()) -->None li -->[1, 4, 23, 32, 76]
li = [1,4,76,23,32] print(sorted(li)) #不改變原有列表次序 -->[1, 4, 23, 32, 76] li -->[1, 4, 76, 23, 32]
默認li.sort()和sorted()方法由小到大排序,reverse=True時,從大到小排序app
lee = [1,3,6765,454,234,3434,3245] lee.sort(reverse=True) print(lee) [6765, 3434, 3245, 454, 234, 3, 1]
lee = [1,3,6765,454,234,3434,3245] print(sorted(lee,reverse=True)) [6765, 3434, 3245, 454, 234, 3, 1]
store = [ #商品名稱,數量,價格 ('apple',40,2), ('banana',17,1), ('watermelon',12,5), ('starwberry',17,10) ] print(sorted(store)) #默認按關鍵值排序 #按照商品數量排序 #key = 表明排序的關鍵字 def sorten_by_count(x): return x[1] print(sorted(store,key=sorten_by_count)) #先按照商品數量由小到大進行排序,若是商品數量一致,則按照商品價格由小到大進行排序 def sorten_by_count_price(x): return x[1],x[2] #-x[2]商品價格從大到小 print(sorted(store,key=sorten_by_count_price)) [('apple', 40, 2), ('banana', 17, 1), ('starwberry', 17, 10), ('watermelon', 12, 5)] [('watermelon', 12, 5), ('banana', 17, 1), ('starwberry', 17, 10), ('apple', 40, 2)] [('watermelon', 12, 5), ('banana', 17, 1), ('starwberry', 17, 10), ('apple', 40, 2)]
l = ['hello','apple','cindy','sheenstar'] print(max(l,key=lambda x: len(x))) sheenstar
# 有一個整數列表(10個元素),要求調整元素順序 # 把全部奇數放在前面,偶數放在後面 import random li = [random.randint(1, 10) for i in range(10)] print(li) print(sorted(li, key=lambda x: 1 if x % 2 == 0 else 0)) print(sorted(li,key=lambda x:x%2==0)) [7, 10, 7, 9, 8, 2, 9, 6, 3, 10] [7, 7, 9, 9, 3, 10, 8, 2, 6, 10] [7, 7, 9, 9, 3, 10, 8, 2, 6, 10]