1. 程式人生 > >python之attrgetter函數對對象排序

python之attrgetter函數對對象排序

處理對象 pri 名稱 self. import str rep att log

 1 # 使用attrgetter函數對對象排序
 3 # attrgetter處理對象,itemgetter處理序列
 4 
 5 from operator import attrgetter
 6 
 7 
 8 class user():
 9     def __init__(self, name, age):
10         self.name = name
11         self.age = age
12 
13     def __repr__(self):
14         ‘‘‘定義該對象需要輸出時的字符串格式‘‘‘
15         return self.name + "
:" + str(self.age) 16 17 18 users = [ 19 user("Mike", 28), 20 user("Lily", 25), 21 user("Tom", 27), 22 user("Ben", 23) 23 ] 24 25 print(排序前:) 26 for user in users: 27 print(user) 28 29 print(- * 20) 30 print(排序後:) 31 32 for u in sorted(users, key=attrgetter("name")): 33 ‘‘‘
根據對象名稱排序-key(u)‘‘‘ 34 print(u) 35 36 for u in sorted(users, key=attrgetter("name", "age")): 37 ‘‘‘多鍵值排序‘‘‘ 38 print(u)

運行結果:

 1 排序前:
 2 Mike:28
 3 Lily:25
 4 Tom:27
 5 Ben:23
 6 --------------------
 7 排序後:
 8 Ben:23
 9 Lily:25
10 Mike:28
11 Tom:27

python之attrgetter函數對對象排序