欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python教程對函數中的參數進行排序

 更新時間:2021年09月29日 09:28:45   作者:沉沉沉小姐  
這篇文章主要介紹了python教程對函數中的參數進行排序的方法講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

內建的 sorted() 函數可接受一個用來傳遞可調用對象( callable ) 的參數 key,而該可調用對象會返回待排序對象中的某些值,sorted則利用這些值來比較對象。

例如,如果應用中有一系列的 User 對象實例,而我們想通過 user_id 屬性來對他們排序,則可以提供一個可調用對象將 User 實例作為輸入然后返回 user_id。

class User:
    def __init__(self, user_id):
        self.user_id = user_id
    def __repr__(self):
        return 'User({})'.format(self.user_id)
 
users = [User(23), User(3), User(99)]
print(users)
# [User(23), User(3), User(99)]
 
sorted(users, key=lambda u: user_id)
# [User(3), User(23), User(99)]

除了可以用 lambda 表達式外,另一種方式是使用 operator.attrgetter()

from operator import attrgetter
sorted(users, key=attrgetter('user_id'))
# [User(3), User(23), User(99)]

要使用 lambda 表達式還是 attrgetter() 或許只是一種個人喜好。但是通常來說,attrgetter() 要更快一些,而且允許同時提取多個字段值的能力。

這和針對字典的 operator.itemgetter() 的使用很類似。

如果 User 實例還有一個 first_name 和 last_name 屬性的話,可以執(zhí)行如下的排序操作:

by_name = sorted(users, key=attrgetter('last_name', 'first_name'))

同樣,本節(jié)所用到的技術也使用于像 min() 和 max() 這樣的函數。

min(Users, key=attrgetter('user_id'))
# User(3)
max(Users, key=attrgetter('user_id'))
# User(99)

以上就是python教程對函數中的參數進行排序的詳細內容,更多關于Python參數排序的資料請關注腳本之家其它相關文章!

相關文章

  • 使用Python進行時間序列分析的8種繪圖類型

    使用Python進行時間序列分析的8種繪圖類型

    時間序列數據是按時間順序按固定時間間隔排列的觀測值的集合,每個觀察對應于一個特定的時間點,并且可以以各種頻率(例如,每天、每月、每年)記錄數據,本文介紹了幾種類型的繪圖,可幫助您使用 Python 進行時間序列分析,并提供使用可免費訪問的數據集的詳細示例
    2023-09-09
  • Python實現命令行通訊錄實例教程

    Python實現命令行通訊錄實例教程

    這篇文章主要介紹怎樣編寫了一段命令行通訊錄的小程序。下面是編寫的思路以及代碼,歡迎感興趣的同學交流探討。
    2016-08-08
  • 在Python上基于Markov鏈生成偽隨機文本的教程

    在Python上基于Markov鏈生成偽隨機文本的教程

    這篇文章主要介紹了在Python上基于Markov鏈生成偽隨機文本的教程,是一個基于馬爾可夫算法的小實現,充分體現了Python在科學計算中的用途,需要的朋友可以參考下
    2015-04-04
  • Python3.5 Pandas模塊缺失值處理和層次索引實例詳解

    Python3.5 Pandas模塊缺失值處理和層次索引實例詳解

    這篇文章主要介紹了Python3.5 Pandas模塊缺失值處理和層次索引,結合實例形式詳細分析了Python3.5 Pandas模塊缺失值處理和層次索引的原理、處理方法及相關操作注意事項,需要的朋友可以參考下
    2019-04-04
  • Python線程編程之Thread詳解

    Python線程編程之Thread詳解

    這篇文章主要為大家介紹了Python線程編程之Thread,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 使用Python3 編寫簡單信用卡管理程序

    使用Python3 編寫簡單信用卡管理程序

    這篇文章主要介紹了使用Python3 編寫簡單信用卡管理程序的代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2016-12-12
  • Python pygame繪制文字制作滾動文字過程解析

    Python pygame繪制文字制作滾動文字過程解析

    這篇文章主要介紹了Python pygame繪制文字制作滾動文字過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • pygame學習筆記(1):矩形、圓型畫圖實例

    pygame學習筆記(1):矩形、圓型畫圖實例

    這篇文章主要介紹了pygame學習筆記(1):矩形、圓型畫圖實例,本文講解了pygame窗口、窗口退出、pygame中的顏色、圓形、矩形及一個完整實例,需要的朋友可以參考下
    2015-04-04
  • 利用 Python ElementTree 生成 xml的實例

    利用 Python ElementTree 生成 xml的實例

    這篇文章主要介紹了利用 Python ElementTree 生成 xml的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python輕量級Web框架之Flask用法詳解

    Python輕量級Web框架之Flask用法詳解

    Flask是一個用Python編寫的輕量級Web應用框架,由于其“微”性質,Flask在提供核心服務的同時,仍然提供了許多擴展的可能性,在這篇文章中,我們將從最基礎開始,學習如何使用Flask構建一個Web應用,需要的朋友可以參考下
    2023-08-08

最新評論