詳解python中sort排序使用
1.前言
昨天一學(xué)妹問我一個(gè)關(guān)于python的問題,當(dāng)時(shí)在外忙碌,沒時(shí)間細(xì)看。今天看一下,咋一看我還真的不知道這個(gè)問題,bookinfo.sort(reverse=True ,key=lambda x:(x[1],x[1]/x[2]))是如何排序的。但是我猜測(cè)應(yīng)該是按照第二個(gè)元素排序,如果第二個(gè)元素相同,就按照第二個(gè)元素和第三個(gè)元素的比值排序。猜測(cè)歸猜測(cè),自己就去測(cè)試了一下。過程如下。
2.環(huán)境準(zhǔn)備
系統(tǒng):win10
python版本:3.6
3.程序?qū)崿F(xiàn)
為了滿足實(shí)驗(yàn)要求,就設(shè)置幾個(gè)第二個(gè)元素相同的數(shù)據(jù)如:擺渡人
bookinfo=[('不一樣的卡梅拉(全套)',22.50,120),('零基礎(chǔ)學(xué)Android',65.10,89.80),
('擺渡人',23.40,36.00),('福爾摩斯探案全集8冊(cè)',22.50,128),('不一樣的卡梅拉(全套)',22.50,100),('擺渡人',23.40,40.00)]
bookinfo.sort(key=lambda x:(x[1],x[1]/x[2]))
for temp in bookinfo:
print(temp,"x[1]/x[2]:",temp[1]/temp[2])
程序運(yùn)行后的結(jié)果是:
('福爾摩斯探案全集8冊(cè)', 22.5, 128) x[1]/x[2]: 0.17578125
('不一樣的卡梅拉(全套)', 22.5, 120) x[1]/x[2]: 0.1875
('不一樣的卡梅拉(全套)', 22.5, 100) x[1]/x[2]: 0.225
('擺渡人', 23.4, 40.0) x[1]/x[2]: 0.585
('擺渡人', 23.4, 36.0) x[1]/x[2]: 0.6499999999999999
('零基礎(chǔ)學(xué)Android', 65.1, 89.8) x[1]/x[2]: 0.7249443207126949
[Finished in 0.2s]
4.sort拓展
在使用sort函數(shù)的時(shí)候需要注意的是:該函數(shù)會(huì)修改原來的數(shù)組,不會(huì)返回新的數(shù)組。
如果想使用逆序則可以:bookinfo.sort(reverse=True,key=lambda x:(x[1],x[1]/x[2]))
key這個(gè)屬性后的x是任意的,自定義的,代表當(dāng)前的元素的內(nèi)容。
以上所述是小編給大家介紹的python中sort排序使用詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Python使用sorted對(duì)字典的key或value排序
- Python使用sort和class實(shí)現(xiàn)的多級(jí)排序功能示例
- 基于python list對(duì)象中嵌套元組使用sort時(shí)的排序方法
- Python實(shí)現(xiàn)二維數(shù)組按照某行或列排序的方法【numpy lexsort】
- Python 列表排序方法reverse、sort、sorted詳解
- 在Python中使用sort()方法進(jìn)行排序的簡(jiǎn)單教程
- python使用sorted函數(shù)對(duì)列表進(jìn)行排序的方法
- python sort、sorted高級(jí)排序技巧
相關(guān)文章
python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并訪問最近來訪者實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并訪問最近來訪者實(shí)例,該實(shí)例是在前面登錄人人網(wǎng)實(shí)例基礎(chǔ)上的擴(kuò)展,是非常實(shí)用的一個(gè)技巧,需要的朋友可以參考下2014-09-09
python dict.get()和dict[''key'']的區(qū)別詳解
下面小編就為大家?guī)硪黄猵ython dict.get()和dict['key']的區(qū)別詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
Python利用flask sqlalchemy實(shí)現(xiàn)分頁效果
這篇文章主要為大家詳細(xì)介紹了利用flask sqlalchemy實(shí)現(xiàn)分頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
python3個(gè)性簽名設(shè)計(jì)實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python3個(gè)性簽名設(shè)計(jì)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
python 解決pycharm運(yùn)行py文件只有unittest選項(xiàng)的問題
這篇文章主要介紹了python 解決pycharm運(yùn)行py文件只有unittest選項(xiàng)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
修復(fù)python-memcached在python3.8環(huán)境中報(bào)SyntaxWarning的問題(完美解決)
我們一直使用python-memcached庫來操作memcached,最近發(fā)現(xiàn)在python3.8的環(huán)境中,代碼會(huì)報(bào)錯(cuò),下面通過本文給大家講解修復(fù)python-memcached在python3.8環(huán)境中報(bào)SyntaxWarning的問題及解決方法,需要的朋友可以參考下2022-08-08

