Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธี Sort List of Dicts ตาม Value ใน Python

Python มี Built-in Function sorted() เรียง Element ของ Iterable ตาม Order ที่กำหนด

sorted(iterable[, key][, reverse])

Parameter ที่ 2: Function คืนค่าเป็น Key สำหรับ Sort Parameter ที่ 3: Default False หาก True เรียง Descending

ใช้ Lambda Function กำหนด Dictionary Key Value เป็น Key สำหรับ Sorted ตัวอย่าง เรียง List of Dicts ตาม Key ต่างๆ:

>>> dictlist=[{'name':'Rahul', 'age':23, 'marks':60}, {'name':'Anil', 'age':18, 'marks':55}, {'name':'Sunil', 'age':21, 'marks':90}]

>>> sorted(dictlist, key=lambda k:k['name'])
[{'name': 'Anil', 'age': 18, 'marks': 55}, {'name': 'Rahul', 'age': 23, 'marks': 60}, {'name': 'Sunil', 'age': 21, 'marks': 90}]

>>> sorted(dictlist, key=lambda k:k['age'])
[{'name': 'Anil', 'age': 18, 'marks': 55}, {'name': 'Sunil', 'age': 21, 'marks': 90}, {'name': 'Rahul', 'age': 23, 'marks': 60}]

>>> sorted(dictlist, key=lambda k:k['marks'], reverse=True)
[{'name': 'Sunil', 'age': 21, 'marks': 90}, {'name': 'Rahul', 'age': 23, 'marks': 60}, {'name': 'Anil', 'age': 18, 'marks': 55}]