Python使用sorted排序的方法小結

2022-09-27 06:42:11 字數 831 閱讀 6694

# 例1. 按照元素出現的次數來排序

seq = [2,4,3,1,2,2,3]

# 按次數排序

seq2 = sorted(seq, key=lambda x:seq.count(x))

print(seq2) # [4, 1, 3, 3, 2, 2, 2]

# 改進:第一優先按次數,第二優先按值

se程式設計客棧q3 = sorted(seq, key=lambda x:(seq.count(x), x))

print(seq3) # [1, 4, 3, 3, 2, 2, 2]

'''原理:

先比較元組的第乙個值,值小的在前。(注意:false < true)

如果相等就比較元組的下乙個值,以此類推。

'''執行結果:

#例2.這是乙個字串排序,排序規則:小寫大寫奇數偶數

s = 'asdf234gdsdsf23'

s2 = "".join(sorted(s, key=lambda x: (x.isdigit(),x.isdigit() and int(x) % 2 == 0,x.isupper(),x)))

print(s2) # addffssdgs33224

執行結果:

#例3. 一道面試題:

list1 = [7, -8, 5, 4, 0, -2, -5]

#要求程式設計客棧1.正數在前負數在後 2.正數從小到大 3.負數從大到小

list2 = sorted(list1,key=lambda x:(x<0, abs(x)))

print(list2) # [0,4,5,7,-2,-程式設計客棧5,-8]

執行結果:

基於python的 sorted 函式,用於排序

coding utf 8 sorted 函式 可以對數字 從小到大,從大到小 或字串 ascii 進行排序 對數字進行排序 list1 1,24 43,12 41,145,3 545 預設按照公升序排序 rs sorted list1 print rs 實現乙個按照降序排序的函式 如果 x y 返回...

Python中使用sorted排序

sorted常見的引數 key表示以哪個維度作比較,reverse表示是否倒序,預設是false 1.對list排序 a 3 1,7 8 sorted a 1,3,7,8 按照指定的某乙個元素排序 a a 0.1 b 0.01 c 0.2 sorted search ret,key lambdax ...

使用 sorted 為元素為列表的列表進行排序

需要對乙個形如 lst 1 2 2 1 2 2 4 4 2 4 3 3 2 5 1 1 4 10 1 3 10 10 5 10 3 5 4 6 4 1 8 8 的列表進行排序。要求子列表的排序是按照子列表中第乙個元素和第二個元素的數值大小進行排序。sorted 可以對所有可迭代物件 iterable...