詳解python中sort排序使用
1.前言
昨天一學(xué)妹問我一個關(guān)于python的問題,當(dāng)時在外忙碌,沒時間細(xì)看。今天看一下,咋一看我還真的不知道這個問題,bookinfo.sort(reverse=True ,key=lambda x:(x[1],x[1]/x[2]))
是如何排序的。但是我猜測應(yīng)該是按照第二個元素排序,如果第二個元素相同,就按照第二個元素和第三個元素的比值排序。猜測歸猜測,自己就去測試了一下。過程如下。
2.環(huán)境準(zhǔn)備
系統(tǒng):win10
python版本:3.6
3.程序?qū)崿F(xiàn)
為了滿足實(shí)驗(yàn)要求,就設(shè)置幾個第二個元素相同的數(shù)據(jù)如:擺渡人
bookinfo=[('不一樣的卡梅拉(全套)',22.50,120),('零基礎(chǔ)學(xué)Android',65.10,89.80), ('擺渡人',23.40,36.00),('福爾摩斯探案全集8冊',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冊', 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ù)組,不會返回新的數(shù)組。
如果想使用逆序則可以:bookinfo.sort(reverse=True,key=lambda x:(x[1],x[1]/x[2]))
key這個屬性后的x是任意的,自定義的,代表當(dāng)前的元素的內(nèi)容。
以上所述是小編給大家介紹的python中sort排序使用詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
對python中字典keys,values,items的使用詳解
今天小編就為大家分享一篇對python中字典keys,values,items的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02Python利用memory_profiler實(shí)現(xiàn)內(nèi)存分析
memory_profiler是第三方模塊,用于監(jiān)視進(jìn)程的內(nèi)存消耗以及python程序內(nèi)存消耗的逐行分析。本文將利用memory_profiler實(shí)現(xiàn)內(nèi)存分析,需要的可以參考一下2022-10-10Pytorch 抽取vgg各層并進(jìn)行定制化處理的方法
今天小編就為大家分享一篇Pytorch 抽取vgg各層并進(jìn)行定制化處理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python編寫的com組件發(fā)生R6034錯誤的原因與解決辦法
pythoncom27.dll可能沒有包含manifest信息,或者沒有包含正確的manifest信息,或者系統(tǒng)中的c++ runtime library受到破壞都有可能造成這種現(xiàn)象2013-04-04Python入門案例之找出文件中出現(xiàn)次數(shù)最多的10個單詞
這篇文章主要為大家?guī)硪粋€簡單的Python入門案例——找出文件中出現(xiàn)次數(shù)最多的10個單詞,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-02-02Python3實(shí)現(xiàn)英文字母轉(zhuǎn)換哥特式字體實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python3實(shí)現(xiàn)英文字母轉(zhuǎn)換哥特式字體的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Python將PDF轉(zhuǎn)換為HTML的實(shí)現(xiàn)方法
PDF文件是共享和分發(fā)文檔的常用選擇,但提取和再利用PDF文件中的內(nèi)容可能會非常麻煩,本文重點(diǎn)介紹如何在Python程序中將PDF轉(zhuǎn)換為HTML,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2024-03-03