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]