python中的?sorted()函數(shù)和sort()方法區(qū)別
1.sort()
首先看sort()
方法,sort
方法只能對(duì)列表進(jìn)行操作,而sorted
可用于所有的可迭代對(duì)象。
a = [1, 5, 3, 4, 2] a.sort() print(a)
調(diào)用sort()
方法后,原列表被改變。
2.sorted()
再看sorted()
函數(shù),
sorted(iterable, key=None, reverse=False)
iterable
是一個(gè)可迭代對(duì)象- key為指定的排序標(biāo)的,指定排列的是哪一個(gè)值。參數(shù)類型為 函數(shù)類型。(需要傳入一個(gè)函數(shù))
- 如給
dic_items
里的鍵值對(duì)排序時(shí),默認(rèn)是按照鍵來(lái)排,可以設(shè)定此參數(shù)來(lái)按照Value
排列。 reverse
為排序方式,F(xiàn)alse為升序,True為降序
返回值是一個(gè)列表。
3.sorted()操作列表
a = [1, 5, 3, 4, 2] print(sorted(a)) print(a)
使用sorted
函數(shù),不改變?cè)斜怼?br />sorted
操作其他可迭代對(duì)象大致過(guò)程同上。
4.sorted()排序字典
使用sorted()排序字典,首先要將字典中的值放在一個(gè)可迭代對(duì)象中:
這里將dict1轉(zhuǎn)化為dict1.items()
后,再傳入sorted()
函數(shù)中即可。
關(guān)于參數(shù)key有兩種常用寫法,
①參數(shù)key:使用lambda定義
使用lambda
定義一個(gè)獲取x第二個(gè)值的函數(shù),這里x指可迭代對(duì)象中的元素。
dict1 = {'a': 1, 'b': 4, 'c': 2, 'd': 3} print(sorted(dict1.items(), key=lambda x: x[1], reverse=True))
②參數(shù)key:使用itemgetter直接生成
from operator import itemgetter dict1 = {'a': 1, 'b': 4, 'c': 2, 'd': 3} print(sorted(dict1.items(), key=itemgetter(1), reverse=True))
也可以達(dá)到一樣的效果:
關(guān)于itemgetter()
是個(gè)什么,itemgetter()
是一個(gè)高階函數(shù),返回值是一個(gè)函數(shù),itemgetter(1)
等同于lambda x: x[1]。
單獨(dú)對(duì)其進(jìn)行調(diào)用就可以看出:
from operator import itemgetter print(itemgetter(1)([1, 2, 3]))
如圖,其獲取了列表[1, 2, 3]索引為1的值。
到此這篇關(guān)于python中的 sorted()函數(shù)和sort()方法的文章就介紹到這了,更多相關(guān)python sorted()函數(shù)和sort()方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+requests+unittest執(zhí)行接口自動(dòng)化測(cè)試詳情
這篇文章主要介紹了Python+requests+unittest執(zhí)行接口自動(dòng)化測(cè)試詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09python 實(shí)現(xiàn)在shell窗口中編寫print不向屏幕輸出
這篇文章主要介紹了python 實(shí)現(xiàn)在shell窗口中編寫print不向屏幕輸出的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Django項(xiàng)目中使用JWT的實(shí)現(xiàn)代碼
這篇文章主要介紹了Django項(xiàng)目中使用JWT的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11python使用ctypes調(diào)用dll遇到的坑解決記錄
這篇文章主要為大家介紹了python使用ctypes調(diào)用dll遇到的坑解決記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12python中實(shí)現(xiàn)迭代器(iterator)的方法示例
我們經(jīng)常需要遍歷一個(gè)對(duì)象中的元素,在Python中這種功能是通過(guò)迭代器來(lái)實(shí)現(xiàn)的。下面這篇文章主要給大家介紹了python中實(shí)現(xiàn)迭代器(iterator)的方法示例,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-01-01解讀Scrapy回調(diào)函數(shù)callback傳遞參數(shù)的方式
這篇文章主要介紹了解讀Scrapy回調(diào)函數(shù)callback傳遞參數(shù)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12pycharm設(shè)置虛擬環(huán)境與更換鏡像教程
這篇文章主要介紹了pycharm設(shè)置虛擬環(huán)境與更換鏡像教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09