python二维列表排序

就自己学习过程中总结总结

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]

你可能感兴趣的:(笔记,python)