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二维列表排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个情诗个性签名。
- 下一篇: str.split() 与 str.sp