欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python list sort方法的具體使用

 更新時(shí)間:2021年12月03日 09:35:08   作者:TCatTime  
list.sort()方法是Python的列表方法,用于對原列表進(jìn)行排序。本文詳細(xì)的介紹了list.sort的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下

描述

list.sort()方法是Python的列表方法,用于對原列表進(jìn)行排序。list.sort()方法沒有任何返回值。

語法

list.sort(key=function, reverse=boolean)

名稱 說明 備注
list 列表名稱
key=function 列表元素權(quán)值參數(shù) 可省略的參數(shù)。省略時(shí)列表排序不考慮元素的權(quán)值
reverse=boolean 排序規(guī)則參數(shù) 可省略的參數(shù)。省略時(shí)reverse默認(rèn)值False

返回值:函數(shù)在原有列表上排序并返回排序后的列表

使用示例

1. 所有參數(shù)都省略

當(dāng)sort函數(shù)的所有參數(shù)都省略的情況下,對原列表進(jìn)行升序排序:

1. 如果原列表是數(shù)字,則按照數(shù)字的大小排序;

2. 如果原列表是字符串,則會按照字母表順序排列.

>>> _list_a = [1, 34, 21, 4]
>>> _list_a.sort()    #對元素是數(shù)字的列表進(jìn)行排序
>>> _list_a
[1, 4, 21, 34]
 
>>> _list_b = ['Huawei', 'Chinasoft', 'CASC', 'Alibaba', 'SoftStone', 'Tencent']
>>> _list_b.sort()    #對元素是字符串的列表進(jìn)行排序
>>> _list_b
['Alibaba', 'CASC', 'Chinasoft', 'Huawei', 'SoftStone', 'Tencent']

2. 指定key參數(shù)

??? key參數(shù)指的是為列表的元素一一標(biāo)記權(quán)值,并按照元素所對應(yīng)的權(quán)值來排序元素。key=函數(shù)名,該函數(shù)的返回值作為元素的權(quán)值大小。

例如,使用字符串長度作為元素的權(quán)值,用該權(quán)值排序元素是字符串的列表:

下面的例子中,分別不指定權(quán)值和指定權(quán)值來排序兩個(gè)一模一樣的列表。

>>> _list_c = ['Beijing', 'Xi\'an', 'Taiyuan', 'Taipei', 'Hongkang']
>>> _list_d = ['Beijing', 'Xi\'an', 'Taiyuan', 'Taipei', 'Hongkang']
>>> _list_c.sort()            #不指定權(quán)值
>>> _list_d.sort(key=len)     #指定權(quán)值
>>> _list_c
['Beijing', 'Hongkang', 'Taipei', 'Taiyuan', "Xi'an"]
>>> _list_d
["Xi'an", 'Taipei', 'Beijing', 'Taiyuan', 'Hongkang']    #按照元素的長度作為權(quán)值的排序結(jié)果

很明顯,_list_d按照元素長度排序,沒有按照元素的字母表順序排序。

3. 指定reverse參數(shù)

??? reverse參數(shù)指的是列表排序是升序還是降序排序。當(dāng)reverse參數(shù)省略或reverse=False時(shí),列表升序排序。當(dāng)reverse=True時(shí),列表降序排序:

>>> _list_a = [13, 45, 23, 66]
>>> _list_b = [13, 45, 23, 66]
>>> _list_a.sort()    #默認(rèn)升序排序
>>> _list_b.sort(reverse=True)    #降序排序
>>> _list_a
[13, 23, 45, 66]
>>> _list_b
[66, 45, 23, 13]

?提示:當(dāng)key參數(shù)和reverse參數(shù)同時(shí)指定時(shí),sort函數(shù)按照元素的權(quán)值進(jìn)行升序(reverse=False)或降序(reverse=True)進(jìn)行排序。

注意事項(xiàng)

1. sort函數(shù)會改變原列表順序

使用sort函數(shù)時(shí)要注意的是,sort函數(shù)在調(diào)用后會改變列表本身的順序,而不是復(fù)制列表后排序,并返回復(fù)制后的列表。

>>> _list_a = [1, 34, 21, 4]
>>> _list_a.sort()
>>> _list_a
[1, 4, 21, 34]

從上面的代碼可以看出,_list_a的列表本身順序發(fā)生了變化。

2. 列表元素類型不一致

當(dāng)列表中的所有元素都是同一種類型時(shí),sort()函數(shù)會正常工作。有些時(shí)候甚至多種類型也可----例如整型和浮點(diǎn)型----只要它們能夠自動地互相轉(zhuǎn)換:

>>> list_a = [23, 21.2, 22, -67.6]
>>> list_a.sort()
>>> list_a
[-67.6, 21.2, 22, 23]

但是當(dāng)元素之間的類型不能夠互相轉(zhuǎn)換的時(shí)候,Python就會報(bào)錯,例如整數(shù)和字符串類型:

>>> a_list = [1, 3, '5', 2]
>>> a_list.sort()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'str' and 'int'

3. Python早些版本

在Python2中,sort函數(shù)還有一個(gè)cmp參數(shù)。

cmp -- 可選參數(shù), 如果指定了該參數(shù)會使用該參數(shù)的方法進(jìn)行排序。

到此這篇關(guān)于Python list sort方法的具體使用的文章就介紹到這了,更多相關(guān)Python list sort內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論