程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

lambda實現對Python二維數組的快速排序

編輯:Python

sorted

sorted(__iterable,key,reverse),可以攜帶三個參數
1.可迭代對象
2.排序的key
3.升降序

一維數組

# 不加參數,默認升序排列
>>>s = [5,3,4,1,2]
sorted(s)
[1, 2, 3, 4, 5]
# 加reverse=True,降序排列
sorted(s, reverse=True)
[5, 4, 3, 2, 1]

二維數組的任意排序

>>>s = [[4,5,6,'d'],[1,3,2,'a'],[6,7,8, 'b'], [9,3,2,'c']]
# sorted默認對列表元素的第一個值進行升序排列
>>>sorted(s)
[[1, 3, 2, 'a'], [4, 5, 6, 'd'], [6, 7, 8, 'b'], [9, 3, 2, 'c']]
# 思考,如果我們想對元素第四列的a,b,c,d進行排序,一行代碼教你簡單實現
>>>sorted(s, key=lambda x:x[3])
[[1, 3, 2, 'a'], [6, 7, 8, 'b'], [9, 3, 2, 'c'], [4, 5, 6, 'd']]
同理,我想對第二列進行排序
>>>sorted(s, key=lambda x:x[1])
[[1, 3, 2, 'a'], [9, 3, 2, 'c'], [4, 5, 6, 'd'], [6, 7, 8, 'b']]

字典排序

# 默認是對鍵進行排序
>>>s = {'c':1,'b':2,'a':3}
>>>sorted(s)
['a', 'b', 'c']
# 對value進行排列
>>>sorted(s.items(),key=lambda x:x[1], reverse=True)
[('a', 3), ('b', 2), ('c', 1)]

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved