日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python sort()和sorted()函数区别及用法详解

發(fā)布時間:2025/3/20 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python sort()和sorted()函数区别及用法详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sorted()屬于內(nèi)置函數(shù),作用于任意可迭代的對象,sorted() 函數(shù)總是會返回一個排序后的列表,原有列表保持不變

sort()一般作用于列表,屬于列表的成員函數(shù),它會直接修改原有列表,函數(shù)返回為 None。sort()函數(shù)總體來說不需要復制原有列表,所以消耗內(nèi)存比較小,效率也比較高

a=['1',1,'a',3,7,'n'] sorted(a) >>>[1, 3, 7, '1', 'a', 'n'] a >>>['1', 1, 'a', 3, 7, 'n'] print a.sort() >>>None a >>>[1, 3, 7, '1', 'a', 'n']a = ['fsf','dadef','f''gt','frggr'] a.sort(key=len) print(a) >>>['fsf', 'fgt', 'dadef', 'frggr'] 

注:

如果實際應用中需要保存原列表,使用 sorted() 函數(shù)較為適合,否則可以選擇 sort() 函數(shù),因為 sort() 函數(shù)不需要復制原有列表,消耗的內(nèi)存較少,效率也較高。

key 指定的函數(shù)將作用于 list 的每一個元素上,并根據(jù) key 函數(shù)返回的結(jié)果進行排序 sorted([36, 5, -12, 9, -21], key=abs) ---[5, 9, -12, -21, 36]sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower) ---['about', 'bob', 'Credit', 'Zoo']要進行反向排序,不必改動key函數(shù),可以傳入第三個參數(shù) reverse=Truesorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower,reverse=True) ---['Zoo', 'Credit', 'bob', 'about']

對于sorted()函數(shù),他可以對不同的數(shù)據(jù)結(jié)構(gòu)進行排序:

operator.itemgetter函數(shù)

operator模塊提供的itemgetter函數(shù)用于獲取對象的哪些維的數(shù)據(jù),參數(shù)為一些序號(即需要獲取的數(shù)據(jù)在對象中的序號)

from operator import itemgetter a = [1,2,3,4] b=itemgetter(3,0) //定義函數(shù)b,獲取對象的第3個域和第0個的值 print(b(a)) ---(4, 1) # 注意operator.itemgetter函數(shù)獲取的不是值,而是定義了一個函數(shù),通過該函數(shù)作用到對象上才能獲取值。

基礎(chǔ)版

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] from operator import itemgetter L2 = sorted(L, key= itemgetter(0)) print(L2) 或者: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] a = sorted(L, key=lambda x: x[0]) print(a)---[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]

對字典進行排序

phonebook = {'Linda': '7750', 'Bob': '9345', 'Carol': '5834'} from operator import itemgetter sorted_ed = sorted(phonebook.items(), key=itemgetter(0)) print(sorted_ed)---[('Bob', '9345'), ('Carol', '5834'), ('Linda', '7750')]

對多維list進行排序

from operator import itemgetter gameresult = [['Bob', 95.00, 'A'], ['Alan', 86.0, 'C'],['Mandy', 82.5, 'A'], ['Rob', 86, 'E']] sorted_ed = sorted(gameresult , key=itemgetter(2, 1)) print(sorted_ed)---[['Mandy', 82.5, 'A'], ['Bob', 95.0, 'A'], ['Alan', 86.0, 'C'], ['Rob', 86, 'E']]

list中混合字典排序,按照 rating 和 name進行排序的實現(xiàn)方法

gameresult = [{"name":"Bob", "wins":10, "losses":3, "rating":75.00},{"name":"David", "wins":3, "losses":5, "rating":57.00},{"name":"Carol", "wins":4, "losses":5, "rating":57.00},{"name":"Patty", "wins":9, "losses":3, "rating": 71.48}] from operator import itemgetter sorted_ed = sorted(gameresult, key=itemgetter("rating", "name")) print(sorted_ed)---[{'name': 'Carol', 'wins': 4, 'losses': 5, 'rating': 57.0}, {'name': 'David', 'wins': 3, 'losses': 5, 'rating': 57.0},{'name': 'Patty', 'wins': 9, 'losses': 3, 'rating': 71.48}, {'name': 'Bob', 'wins': 10, 'losses': 3, 'rating': 75.0}]

不使用模塊,只通過wins進行排序

a = sorted(gameresult,key=lambda x:x["wins"]) print(a)---[{'wins': 3, 'losses': 5, 'name': 'David', 'rating': 57.0}, {'wins': 4, 'losses': 5, 'name': 'Carol', 'rating': 57.0}, {'wins': 9, 'losses': 3, 'name': 'Patty', 'rating': 71.48}, {'wins': 10, 'losses': 3, 'name': 'Bob', 'rating': 75.0}] 

字典中混合list排序

mydict = {'Li': ['M', 7], 'Zhang': ['E', 2],'Wang': ['P', 3], 'Du': ['C', 2],'Ma': ['C', 9], 'Zhe': ['H', 7]} from operator import itemgetter sorted_ed = sorted(mydict.items(), key=itemgetter(1)) print(sorted_ed)---[('Du', ['C', 2]), ('Ma', ['C', 9]), ('Zhang', ['E', 2]), ('Zhe', ['H', 7]), ('Li', ['M', 7]), ('Wang', ['P', 3])

總結(jié)

以上是生活随笔為你收集整理的Python sort()和sorted()函数区别及用法详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天堂网在线视频 | 黄视频在线免费 | 欧美大白屁股 | 欧美狂猛xxxxx乱大交3 | 污污内射久久一区二区欧美日韩 | 一级视频在线播放 | 欧美激情视频一区二区三区不卡 | 天天舔天天射天天干 | 日韩精品视频中文字幕 | 亚洲欧美激情在线 | 人妻无码一区二区三区久久99 | 国产精品va无码一区二区三区 | 男人把女人捅爽 | 天天狠天天干 | 黑人和白人做爰 | 精品一区二区三区电影 | 欧美黄色免费 | 欧美特级黄 | 色倩网站 | 潘金莲裸体一级淫片视频 | 看一级黄色 | 欧美日韩中文字幕在线视频 | 中文字幕不卡一区 | 日韩精品免费在线 | 欧美1区2区3区4区 | 精品人妻一区二区三区日产 | 天天天天天天干 | 亚洲综合三区 | 青青草视频黄 | 天天久| 在线黄色av网站 | 久久性感美女视频 | 潘金莲性xxxxhd| 亚洲一区二区在线免费 | 欧美亚洲另类视频 | 国产小视频你懂的 | 麻豆日韩 | 在线观看视频一区二区 | 噜噜噜av | 极品av在线 | 黄色的视频网站 | 欧美日韩视频一区二区三区 | 色狠久 | 国产精品久久久久久久久久久久久久久久久久 | 青草久久网| 激情av网站| 黑人玩弄人妻一区二区三区 | 亚洲视频播放 | 一级黄色大片免费观看 | 欧美日韩视频无码一区二区三 | 麻豆国产在线 | 久久怡红院| 97视频国产| 特级西西444www高清大胆 | 欧美aaaaaaaaaa | 欧美大浪妇猛交饥渴大叫 | 欧美国产日韩在线观看 | 一本大道熟女人妻中文字幕在线 | 人妻无码久久精品人妻 | 网红av在线 | 午夜影视剧场 | 一区二区91 | 亚洲av无码一区二区三区dv | 国产成人在线一区 | 东北少妇av| 在线观看日韩av | 交视频在线播放 | 国产精品久久久久久人 | 色欲一区二区三区精品a片 在线观看黄网站 | 人成在线免费视频 | 日韩久久久久久久久久 | 肉丝美脚视频一区二区 | 狠狠欧美 | 欧美少妇15p | 麻豆av导航 | 少妇肥臀大白屁股高清 | 一级特黄a大片免费 | 精品视频在线观看 | 成人午夜一区 | 亚洲一区国产精品 | 99久久精品一区二区成人 | 国产综合在线播放 | 艳妇乳肉豪妇荡乳 | 国产做受69 | 中文字幕第18页 | 四虎www| 巨乳美女在线 | 国产网址在线观看 | 欧美 日韩 中文字幕 | 欧美日韩精品一区 | 中国二级毛片 | 少妇裸体淫交视频免费看高清 | 日韩乱码人妻无码系列中文字幕 | 国产又粗又猛又黄又爽 | 夜夜夜夜操 | 久在线观看视频 | 久久日本精品字幕区二区 | 亚洲高潮无码久久 | 国产91一区在线精品 |