python-進階教程-使用物件屬性進行排序
0.摘要
python中的類通常不支援比較操作,但是我們可以依據類的屬性值進行排序。
本文主要介紹使用operator.attrgetter()方法獲取類的屬性值,從而完成排序。
1.operator.attrgetter()方法
from operator import attrgetter
class User:
def __init__(self, user_id):
self.user_id = user_id
def __repr__(self):
return 'User({})'.format(self.user_id)
# Example
users = [User(23), User(3), User(99)]
print(users)
#result:[User(23), User(3), User(99)]
# Sort it by user-id
print(sorted(users, key=attrgetter('user_id')))
#result:[User(3), User(23), User(99)]
藉助於lambda表示式也可實現同樣的功能,但operator.attrgetter()方法執行效率更高。
相關文章
- python-進階教程-對切片進行命名Python
- python-進階教程-通過公共鍵對字典列表排序Python排序
- 前端進階課程之物件屬性特性詳解前端物件
- Vue的進階屬性Vue
- Python進階教程5——物件導向Python物件
- python教程12-物件導向進階Python物件
- JavaScript 根據物件鍵值進行排序JavaScript物件排序
- 「Js」物件按照鍵名來進行排序JS物件排序
- CAD屬性編輯操作——物件屬性教程物件
- python-進階教程-根據欄位將記錄分組Python
- Vue-5個進階屬性(指令等)Vue
- 陣列物件按物件某個屬性排序陣列物件排序
- 辦公進階:HoudahSpot使用教程
- js物件建立進階JS物件
- python-進階教程-對兩個集合/字典求交集、差集、並集Python
- js對陣列中相同物件元素進行去重,裡面物件相同id,其他不同屬性進行文字疊加JS陣列物件
- Arthas 進階教程
- Java小白進階筆記(5)-進階物件導向Java筆記物件
- Rust 程式設計影片教程(進階)——020_1 物件Rust程式設計物件
- 前端進階-類和物件前端物件
- 用xgboost模型對特徵重要性進行排序模型特徵排序
- Kotlin 進階教程(一)Kotlin
- 對字典進行排序排序
- Rust 程式設計影片教程(進階)——021_2trait 物件Rust程式設計AI物件
- Rust 程式設計視訊教程(進階)——020_1 物件Rust程式設計物件
- 前端進階-深入瞭解物件前端物件
- Python進階07 函式物件Python函式物件
- Python進階之物件導向Python物件
- 使用Collections對list的內容進行排序排序
- css魔幻屬性跟進篇CSS
- Python進階-演算法-快速排序Python演算法排序
- python-進階教程-從序列中移除重複項並保持元素順序不變Python
- JavaScript進階教程日記JavaScript
- SQL入門-進階教程SQL
- jsp進階教程和ServletJSServlet
- SQLMAP進階使用SQL
- Celery 進階使用
- Python入門教程100天:Day09-物件導向進階Python物件