Python中sort 和sorted 的用法

2021-10-02 03:04:42 字數 1528 閱讀 6832

python提供了兩種常用的對列表進行排序的方法:1,列表物件的sort()方法。2,內建的sorted()函式。

1,列表物件的sort()方法

使用列表物件的sort()方法對列表進行排序,排序後原列表中的元素順序發生改變。即sort()方法是對原列表進行修改。

語法格式:

listname.sort(key=none, reverse=false)

引數說明:

listname:表示要排序的列表名字。

key:接受的是乙個只有乙個形參的函式名,sort將按照函式返回值的大小對原列表進行排序。

reverse:可選引數,如果將其值指定為true,則按照降序排列;如果為false,則表示公升序排序,預設為公升序排序。

如,對列表進行排序,按照列表元素裡"z" or "z"的個數進行降序排序。

team = ["huojianhjgn","yonzgzshi","zaitzuozhe"]

print("原列表",team)

team.sort(key=lambda x:x.lower().count('z'),reverse=true)

print("按照元素中z or z的個數降序排列",team)

執行結果是:

原列表 ['huojianhjgn', 'yonzgzshi', 'zaitzuozhe']

按照元素中z or z的個數降序排列 ['zaitzuozhe', 'yonzgzshi', 'huojianhjgn']

process finished with exit code 0

2,使用內建的sorted()函式對列表進行排序

使用內建的sorted()函式對列表進行排序不對原列表直接進行操作,而是返回乙個排好序的副本,原列表不會改變。且sorted()函式可以對所有可迭代物件進行排序操作,而不僅僅針對列表,且函式返回值都是返回乙個列表。

用法基本相同,語法格式:

sorted(iterable, key=none, reverse=false)

上面的例子使用sorted()函式則為:

team = ["huojianhjgn","yonzgzshi","zaitzuozhe"]

new_team = sorted(team,key=lambda x:x.lower().count('z'),reverse=true)

print("原列表",team)

print("按照元素中z or z的個數降序排列",new_team)

如下是對元組進行排序:

team = ("huojianhjgn","yonzgzshi","zaitzuozhe")

new = sorted(team)

print(new)

執行結果:

['zaitzuozhe', 'huojianhjgn', 'yonzgzshi']

process finished with exit code 0

注意字串排序是先排大寫字母,再排小寫字母。

從零開始學python之sort與sorted函式

該方法用來對列表中的元素進行排序 sort 方法預設是直接比較列表中的元素的大小,在sort 可以接收乙個關鍵字引數,key key需要乙個函式作為引數,當設定了函式作為引數,每次都會以列表中的乙個元素作為引數來呼叫函式,並且使用函式的返回值來比較元素的大小 l aa bbb cccc fffff ...

python學習筆記 filter和sorted

filter python內建的filter 函式用於過濾序列。和map 類似,filter 也接收乙個函式和乙個序列。和map 不同的時,filter 把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。例如,在乙個list中,刪掉偶數,只保留奇數,可以這...

python基礎 sorted函式和sort函式

sorted 函式 1 對可迭代物件進行排序,有返回值,返回的是乙個排序後的列表,並且不會對原可迭代物件產生影響,適用於需要對原可迭代物件進行保留時使用 2 支援兩個引數key和reverse,不加引數預設為公升序排序 3 sorted函式排序是穩定的,即使出現相同大小的元素是不會改變元素原來的相對...