最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中Sorted()函數(shù)的key參數(shù)使用方法詳解

 更新時(shí)間:2024年04月30日 09:21:35   作者:豫州刺史  
這篇文章主要介紹了關(guān)于Python中Sorted()函數(shù)的key參數(shù)使用方法 ,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、sorted函數(shù)

sorted() 函數(shù)是 Python 內(nèi)置的一種排序函數(shù),它可以對序列進(jìn)行排序,并且返回排序后的結(jié)果。該函數(shù)的語法格式如下:

sorted(iterable, /, *, key=None, reverse=False)

其中,iterable 是待排序的元素集合,可以是列表、元組、字典等可迭代對象。key 和 reverse 是可選參數(shù)。

  • key 參數(shù)用于指定一個(gè)函數(shù),該函數(shù)將應(yīng)用于待排序的每個(gè)元素上,獲取用于排序的關(guān)鍵字(key)。具體來說,key 參數(shù)需要傳遞一個(gè)函數(shù)它會取待排序元素作為輸入,并返回一個(gè)用于定制排序的關(guān)鍵字。默認(rèn)為 None,表示直接比較待排序元素本身進(jìn)行排序。
  • reverse 參數(shù)是一個(gè)布爾值,用于決定排序順序。默認(rèn)值為 False,表示升序排序。如果將該參數(shù)指定為 True,則表示降序排序。

下面舉一個(gè)例子,說明在實(shí)際應(yīng)用中 sorted() 函數(shù)的用法:

from collections import namedtuple

# 構(gòu)造一個(gè)命名元組類型
Person = namedtuple('Person', ['name', 'age', 'gender'])

# 創(chuàng)建一個(gè) Person 的列表
people = [
    Person('Alice', 22, 'F'),
    Person('Bob', 35, 'M'),
    Person('Charlie', 28, 'M'),
    Person('David', 28, 'M'),
    Person('Eva', 21, 'F')
]

# 按年齡進(jìn)行升序排序
people_by_age = sorted(people, key=lambda p: p.age)
print(people_by_age)

# 按姓名的首字母進(jìn)行降序排序
people_by_first_letter = sorted(people, key=lambda p: p.name[0], reverse=True)
print(people_by_first_letter)

===結(jié)果===
[Person(name='Eva', age=21, gender='F'), Person(name='Alice', age=22, gender='F'), Person(name='Charlie', age=28, gender='M'), Person(name='David', age=28, gender='M'), Person(name='Bob', age=35, gender='M')]
[Person(name='Eva', age=21, gender='F'), Person(name='David', age=28, gender='M'), Person(name='Charlie', age=28, gender='M'), Person(name='Bob', age=35, gender='M'), Person(name='Alice', age=22, gender='F')]

在上述代碼中,我們使用了 namedtuple 來定義了一個(gè)名為 Person 的命名元組類型,并創(chuàng)建了一個(gè) people 列表來保存多個(gè) Person 的實(shí)例。

我們使用 sorted() 函數(shù)對 people 列表進(jìn)行了升序和降序排序。升序排序是通過 key 參數(shù)指定了按照 Person 對象的 age 屬性進(jìn)行排序,而降序排序是通過 key 參數(shù)指定了按照 Person 對象的 name 屬性的第一個(gè)字母的 ASCII 值進(jìn)行排序。

當(dāng)需要對復(fù)雜的數(shù)據(jù)結(jié)構(gòu)進(jìn)行排序時(shí),我們經(jīng)常需要自定義排序規(guī)則。此時(shí),我們可以通過將自定義的函數(shù)作為 key 參數(shù)賦值,來實(shí)現(xiàn)對數(shù)據(jù)結(jié)構(gòu)按照任意排序規(guī)則進(jìn)行排序。

下面就給出一個(gè)示例,其中 key 參數(shù)通過一個(gè)自定義的函數(shù)實(shí)現(xiàn)對一個(gè)包含學(xué)生信息的列表進(jìn)行按照成績降序排序:

# 定義一個(gè)包含學(xué)生信息的列表
students = [('Alice', 95), ('Bob', 83), ('Charlie', 72), ('David', 90), ('Eva', 87)]

# 使用一個(gè)自定義的函數(shù),對學(xué)生信息按照成績降序排序
def sort_by_score(student):
    return student[1]

students_sorted_by_score = sorted(students, key=sort_by_score, reverse=True)
print(students_sorted_by_score)
===輸出結(jié)果如下所示:===
[('Alice', 95), ('David', 90), ('Eva', 87), ('Bob', 83), ('Charlie', 72)]

在上述代碼中,我們首先定義了一個(gè)包含多個(gè)學(xué)生信息的列表 students,每個(gè)學(xué)生信息包含了姓名和成績兩個(gè)元素。接下來,我們定義了一個(gè)自定義函數(shù) sort_by_score,該函數(shù)的輸入?yún)?shù)是一個(gè)學(xué)生信息,我們將該學(xué)生信息的成績作為排序的關(guān)鍵字。

通過將 sort_by_score 函數(shù)賦值給 sorted() 函數(shù)中的 key 參數(shù),我們就實(shí)現(xiàn)了對學(xué)生列表按照學(xué)生成績進(jìn)行降序排序的目的。

總結(jié)

到此這篇關(guān)于Python中Sorted()函數(shù)的key參數(shù)使用方法的文章就介紹到這了,更多相關(guān)Python Sorted()函數(shù)key參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • import的本質(zhì)解析

    import的本質(zhì)解析

    import是我們經(jīng)常使用的功能,方法大家也都會。雖然用的多,但它的本質(zhì)我們似乎沒有好好的了解過。本文就import的本質(zhì)解析,向大家作了介紹,需要的朋友可以參考下。
    2017-10-10
  • Python標(biāo)準(zhǔn)庫shutil模塊使用方法解析

    Python標(biāo)準(zhǔn)庫shutil模塊使用方法解析

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫shutil模塊使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python機(jī)器學(xué)習(xí)算法之決策樹算法的實(shí)現(xiàn)與優(yōu)缺點(diǎn)

    Python機(jī)器學(xué)習(xí)算法之決策樹算法的實(shí)現(xiàn)與優(yōu)缺點(diǎn)

    決策樹(Decision Tree)是一種基本的分類與回歸方法,這篇文章主要給大家介紹了關(guān)于Python機(jī)器學(xué)習(xí)算法之決策樹算法實(shí)現(xiàn)與優(yōu)缺點(diǎn)的相關(guān)資料,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python 格式化輸出百分號的方法

    python 格式化輸出百分號的方法

    今天小編就為大家分享一篇python 格式化輸出百分號的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Django項(xiàng)目打包完整步驟以及可能出現(xiàn)的問題

    Django項(xiàng)目打包完整步驟以及可能出現(xiàn)的問題

    django項(xiàng)目的結(jié)構(gòu)大體上都是類似,打包主要的功能就是把一些不需要部署的文件剔除,把需要部署的文件直接壓縮打包,下面這篇文章主要給大家介紹了關(guān)于Django項(xiàng)目打包完整步驟以及可能出現(xiàn)問題的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Python淘寶或京東等秒殺搶購腳本實(shí)現(xiàn)(秒殺腳本)

    Python淘寶或京東等秒殺搶購腳本實(shí)現(xiàn)(秒殺腳本)

    本篇文章主要介紹了Python 通過selenium實(shí)現(xiàn)毫秒級自動(dòng)搶購的示例代碼,通過掃碼登錄即可自動(dòng)完成一系列操作,搶購時(shí)間精確至毫秒,可搶加購物車等待時(shí)間結(jié)算的,也可以搶聚劃算、火車票等的商品,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • Django models文件模型變更錯(cuò)誤解決

    Django models文件模型變更錯(cuò)誤解決

    這篇文章主要介紹了Django models文件模型變更錯(cuò)誤解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python查詢文件夾下excel的sheet名代碼實(shí)例

    python查詢文件夾下excel的sheet名代碼實(shí)例

    這篇文章主要介紹了python查詢文件夾下excel的sheet名方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python制作Windows按鍵通知腳本

    Python制作Windows按鍵通知腳本

    對于鍵盤沒有背光燈的同學(xué)而言,切換大小寫或控制Num鍵開關(guān)的時(shí)候沒有提示,經(jīng)常需要試探性地輸入一些字符來判斷開關(guān)是否打開,體驗(yàn)非常糟糕。所以本文就來用Python做一個(gè)Windows按鍵通知腳本,需要的可以參考一下
    2022-11-11
  • python實(shí)現(xiàn)畫圖工具

    python實(shí)現(xiàn)畫圖工具

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)畫圖工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評論

互助| 德兴市| 淳化县| 富宁县| 鲁甸县| 饶河县| 灌阳县| 阳原县| 许昌县| 平塘县| 淮滨县| 湟中县| 建平县| 稷山县| 将乐县| 拉萨市| 榆中县| 钦州市| 河曲县| 黔南| 洞头县| 延津县| 安乡县| 弥勒县| 建湖县| 大宁县| 搜索| 应用必备| 亚东县| 钟山县| 泗洪县| 汪清县| 都兰县| 新野县| 县级市| 曲周县| 观塘区| 仲巴县| 库伦旗| 合作市| 郯城县|