Python list sort方法的具體使用
描述
list.sort()方法是Python的列表方法,用于對原列表進行排序。list.sort()方法沒有任何返回值。
語法
list.sort(key=function, reverse=boolean)
| 名稱 | 說明 | 備注 |
| list | 列表名稱 | |
| key=function | 列表元素權值參數(shù) | 可省略的參數(shù)。省略時列表排序不考慮元素的權值 |
| reverse=boolean | 排序規(guī)則參數(shù) | 可省略的參數(shù)。省略時reverse默認值False |
返回值:函數(shù)在原有列表上排序并返回排序后的列表
使用示例
1. 所有參數(shù)都省略
當sort函數(shù)的所有參數(shù)都省略的情況下,對原列表進行升序排序:
1. 如果原列表是數(shù)字,則按照數(shù)字的大小排序;
2. 如果原列表是字符串,則會按照字母表順序排列.
>>> _list_a = [1, 34, 21, 4] >>> _list_a.sort() #對元素是數(shù)字的列表進行排序 >>> _list_a [1, 4, 21, 34] >>> _list_b = ['Huawei', 'Chinasoft', 'CASC', 'Alibaba', 'SoftStone', 'Tencent'] >>> _list_b.sort() #對元素是字符串的列表進行排序 >>> _list_b ['Alibaba', 'CASC', 'Chinasoft', 'Huawei', 'SoftStone', 'Tencent']
2. 指定key參數(shù)
??? key參數(shù)指的是為列表的元素一一標記權值,并按照元素所對應的權值來排序元素。key=函數(shù)名,該函數(shù)的返回值作為元素的權值大小。
例如,使用字符串長度作為元素的權值,用該權值排序元素是字符串的列表:
下面的例子中,分別不指定權值和指定權值來排序兩個一模一樣的列表。
>>> _list_c = ['Beijing', 'Xi\'an', 'Taiyuan', 'Taipei', 'Hongkang'] >>> _list_d = ['Beijing', 'Xi\'an', 'Taiyuan', 'Taipei', 'Hongkang'] >>> _list_c.sort() #不指定權值 >>> _list_d.sort(key=len) #指定權值 >>> _list_c ['Beijing', 'Hongkang', 'Taipei', 'Taiyuan', "Xi'an"] >>> _list_d ["Xi'an", 'Taipei', 'Beijing', 'Taiyuan', 'Hongkang'] #按照元素的長度作為權值的排序結果
很明顯,_list_d按照元素長度排序,沒有按照元素的字母表順序排序。
3. 指定reverse參數(shù)
??? reverse參數(shù)指的是列表排序是升序還是降序排序。當reverse參數(shù)省略或reverse=False時,列表升序排序。當reverse=True時,列表降序排序:
>>> _list_a = [13, 45, 23, 66] >>> _list_b = [13, 45, 23, 66] >>> _list_a.sort() #默認升序排序 >>> _list_b.sort(reverse=True) #降序排序 >>> _list_a [13, 23, 45, 66] >>> _list_b [66, 45, 23, 13]
?提示:當key參數(shù)和reverse參數(shù)同時指定時,sort函數(shù)按照元素的權值進行升序(reverse=False)或降序(reverse=True)進行排序。
注意事項
1. sort函數(shù)會改變原列表順序
使用sort函數(shù)時要注意的是,sort函數(shù)在調用后會改變列表本身的順序,而不是復制列表后排序,并返回復制后的列表。
>>> _list_a = [1, 34, 21, 4] >>> _list_a.sort() >>> _list_a [1, 4, 21, 34]
從上面的代碼可以看出,_list_a的列表本身順序發(fā)生了變化。
2. 列表元素類型不一致
當列表中的所有元素都是同一種類型時,sort()函數(shù)會正常工作。有些時候甚至多種類型也可----例如整型和浮點型----只要它們能夠自動地互相轉換:
>>> list_a = [23, 21.2, 22, -67.6] >>> list_a.sort() >>> list_a [-67.6, 21.2, 22, 23]
但是當元素之間的類型不能夠互相轉換的時候,Python就會報錯,例如整數(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ù)還有一個cmp參數(shù)。
cmp -- 可選參數(shù), 如果指定了該參數(shù)會使用該參數(shù)的方法進行排序。
到此這篇關于Python list sort方法的具體使用的文章就介紹到這了,更多相關Python list sort內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python3爬蟲學習之數(shù)據(jù)存儲txt的案例詳解
這篇文章主要介紹了python3爬蟲學習之數(shù)據(jù)存儲txt的案例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04
打包FlaskAdmin程序時關于static路徑問題的解決
近期寫了個基于Flask-admin的數(shù)據(jù)庫管理程序,通過pyinstaller打包,給別人用,經過幾次嘗試,打包的數(shù)據(jù)一直找不到static里面的樣式文件,查閱資料后,最總把問題搞定了。寫下處理流程,供后來人參考2021-09-09
pycharm中import呈現(xiàn)灰色原因的解決方法
這篇文章主要介紹了pycharm中import呈現(xiàn)灰色原因的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
python opencv設置攝像頭分辨率以及各個參數(shù)的方法
下面小編就為大家分享一篇python opencv設置攝像頭分辨率以及各個參數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

