python基礎 sorted函式和sort函式

2021-10-01 19:11:10 字數 1256 閱讀 2940

sorted 函式

1、對可迭代物件進行排序,有返回值,返回的是乙個排序後的列表,並且不會對原可迭代物件產生影響,適用於需要對原可迭代物件進行保留時使用

2、支援兩個引數key和reverse,不加引數預設為公升序排序

3、sorted函式排序是穩定的,即使出現相同大小的元素是不會改變元素原來的相對順序的,有利於多重排序

a =

[2,1,2,5]

b = sorted(a)

# 不加引數,預設是公升序排列

print(b)

# 輸出:[1,2,2,5]

a =

(2,1,2,5)

b = sorted(a)

print(b)

# 輸出列表:[1,2,2,5]

str1 =

"bcad"

str2 = sorted(str1)

print(str2)

# 輸出:['a','b','c','d']

多重排序

l =[[

"tom", 18], [

"tom", 20], [

"susan", 20]

]# x 代表l中的每乙個元素,先以第0個元素進行排序,再以第乙個元素排序

# 預設都是公升序排序

print(sorted(l, key=lambda x:(x[0], x[1])))

# 輸出:[['susan', 20], ['tom', 18], ['tom', 20]]

# 如果某個元素前有"-",表示該元素降序排列

# 在以某乙個元素進行公升序或降序排列的時候不能使用reverse

print(sorted(l, key=lambda x:(x[0], -x[1])))

# 輸出:[['susan', 20], ['tom', 20], ['tom', 18]]

sort 函式

1、sort函式只是列表的乙個排序函式,其他的可迭代物件不能使用,沒有返回值,並且sort函式是在原列表的基礎上進行修改,如果原列表的資料不是很重要,建議使用sort函式,不會額外增加使用記憶體

2、支援兩個引數key和reverse,不加引數預設為公升序排序

3、sort函式排序是穩定的,即使出現相同大小的元素是不會改變元素原來的相對順序的

sort函式使用操作與sorted函式類似,只是把sorted()改為list.sort()即可,在此不再贅述

Python中sort以及sorted函式初探

help on built in function sorted in module builtin sorted sorted iterable,cmp none,key none,reverse false new sorted list help on built in function so...

python之zip函式和sorted函式

zip 函式和sorted 函式 zip 函式 將兩個序列合併,返回zip物件,可強制轉換為列表或字典 sorted 函式 對序列進行排序,返回乙個排序後的新列表,原資料不改變 合併兩個列表,以列表型別輸出 list str a b c d list num 1,2,3,4 list new zip...

Python基礎 sorted函式

排序也是在程式中經常用到的演算法。無論使用氣泡排序還是快速排序,排序的核心是比較兩個元素的大小。如果是數字,我們可以直接比較,但如果是字串或者兩個dict呢?直接比較數學上的大小是沒有意義的,因此,比較的過程必須通過函式抽象出來。python內建的sorted 函式就可以對list進行排序 prin...