sort方法和sorted內建函式

2022-09-12 07:09:08 字數 1459 閱讀 2277

list.sort(key=none, reverse=false)
sorted(iterable, key=none, reverse=false)  

iterable:可迭代物件

兩者的key和reverse引數,含義和取值均相同。

key:

主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序,可借助 lambda 表示式。字串排序時,可以用key=str.lower來實現忽略大小寫的排序,或者用key=len進行基於字串長度的排序。這個引數的預設值是恒等函式(identity function),也就是預設用元素自己的值來排序。

reverse:

排序規則,reverse = true 降序 , reverse = false 公升序(預設)。

示例1:按元組的第二個元素排序

random = [(2, 2), (3, 4), (4, 1), (1, 3)]

random.sort(key=lambda x: x[1]) # 以元組的第二個元素x[1]來排序,預設公升序

print ('排序列表:', random)

輸出:排序列表: [(4, 1), (2, 2), (1, 3), (3, 4)]

示例2:按順序、倒序輸出

example_list = [5, 0, 6, 1, 2, 7, 3, 4]

result_list1 = sorted(example_list, key=lambda x: x)

result_list2 = sorted(example_list, key=lambda x: -x) # 利用key進行倒序排序

print('順序輸出:',result_list1)

print('倒序輸出:',result_list2)

輸出:順序輸出: [0, 1, 2, 3, 4, 5, 6, 7]

倒序輸出: [7, 6, 5, 4, 3, 2, 1, 0]

示例3:按字串長度排序

print ('排序列表:', sorted(fruits, key=len, reverse=true)) # 按元素長度,倒序排序

print ('原列表:', fruits)

輸出:示例4:字串忽略大小寫的排序

print ('排序列表1:', sorted(fruits)) # 不忽略大小寫

print ('排序列表2:', sorted(fruits,key=str.lower)) # 忽略大小寫

輸出:示例5:集合排序返回列表

array = sorted(basket,key=len,reverse=true) # 先按字元長度降序排序

print('排序結果列表:',array)

輸出:

sort 和sorted的使用

python 內建的可以用來排序的函式有sort 和 sorted.list.sort 是直接在原列表的基礎上排序,返回值為none sorted 相較於sort的功能更加強大,使用範圍要更加廣泛.sorted接受一切迭代器,返回新的列表.常見的用到排序的比如字典排序 依據key排序 s sorte...

sort函式和sorted函式

b 1 2,6 2,7 9,5 print b.sort reverse true print b 1 none 7結果表明sort函式不會產生新列表,返回值為none 會改變原來物件的結構 b 1 2,6 2,7 9,5 c set b print b print c print list sor...

Python深入 sort和sorted區別

text 2,3,7,1,19,4 是否改變原list text1 sorted text text1 out 5 1,2,3,4,7,19 text out 6 2,3,7,1,19,4 text2 text.sort text2 text out 9 1,2,3,4,7,19 text2 所以,...