就自己学习过程中总结总结
list_new=sorted(list,key,reverse)
##list 排序对象
##key 排序的规则,按什么关键字排序,lambda定义
##reverse True 降序 False 升序
列表一: [('dungeon',7),('winterfell',4),('bran',9),('meelo',6)]
列表二: [[ 'Angle', '0121701100106',99], [ 'Jack', '0121701100107',86], [ 'Tom', '0121701100109',65], [ 'Smith', '0121701100111', 100], ['Bob', '0121701100115',77], ['Lily', '0121701100117', 59]]
第一个列表的元素是元组,请对其按列表元素的第 2 个元素值从小到大进行排序输出.
第二个列表的元素仍是列表,请对其分别按每个元素的第 1 和第 3 个元素值从小到大进行排序.
list_1=[('dungeon',7),('winterfell',4),('bran',9),('meelo',6)]
list_2=[[ 'Angle', '0121701100106',99], [ 'Jack', '0121701100107',86], [ 'Tom', '0121701100109',65], [ 'Smith', '0121701100111', 100], ['Bob', '0121701100115',77], ['Lily', '0121701100117', 59]]
new_list_1=sorted(list_1,key=(lambda x:x[1]),reverse=False) ##按第二个元素
new_list_2=sorted(list_2,key=(lambda x:x[0]),reverse=False) ##按第一个元素
new_list_3=sorted(list_2,key=(lambda x:x[2]),reverse=False) ##按第三个元素
##输出
new_list_1=[('winterfell', 4), ('meelo', 6)]
new_list_2=[['Angle', '0121701100106', 99], ['Bob', '0121701100115', 77], ['Jack', '0121701100107', 86]]
new_list_3=[['Lily', '0121701100117', 59], ['Tom', '0121701100109', 65], ['Bob', '0121701100115', 77]]
读入一个列表,按照绝对值从大到小排序,如果绝对值相同,则正数在前面。例如列表[3,-4,2,4],排序后的结果为[4,-4,3,2]
list_1=[5.2,3,4,6,-5.2]
list_1.sort(key=lambda x:(abs(x),x),reverse=True) ##先按绝对值(第一关键词),再按本身大小(第二关键词) 如果绝对值相同,则正数在前面
##输出
[6,5.2,-5.2,4,3]