เมื่อจำเป็นต้องเรียงลำดับรายการพจนานุกรมตามค่า คุณสามารถใช้แอตทริบิวต์ itemgetter ได้
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
from operator import itemgetter my_list = [{ "name" : "Will", "age" : 56}, { "name" : "Rob", "age" : 20 }, { "name" : "Mark" , "age" : 34 }, { "name" : "John" , "age" : 24 }] print("The list sorted by age is : ") print(sorted(my_list, key=itemgetter('age'))) print("The list sorted by age and name is : ") print(sorted(my_list, key=itemgetter('age', 'name'))) print("The list sorted by age in descending order is : ") print(sorted(my_list, key=itemgetter('age'),reverse = True))
ผลลัพธ์
The list sorted by age is : [{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will', 'age': 56}] The list sorted by age and name is : [{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will', 'age': 56}] The list sorted by age in descending order is : [{'name': 'Will', 'age': 56}, {'name': 'Mark', 'age': 34}, {'name': 'John', 'age': 24}, {'name': 'Rob', 'age': 20}]
คำอธิบาย
-
แพ็คเกจที่จำเป็นจะถูกนำเข้า
-
รายการองค์ประกอบพจนานุกรมถูกกำหนดและแสดงบนคอนโซล
-
ใช้วิธีการเรียงลำดับและระบุคีย์เป็น 'itemgetter'
-
รายการพจนานุกรมถูกจัดเรียงอีกครั้งโดยใช้ itemgetter เป็นสองพารามิเตอร์
-
เอาต์พุตจะแสดงบนคอนโซล