ในบทความนี้ คุณจะได้เรียนรู้วิธีจัดเรียงรายการพจนานุกรมโดยใช้ค่าใน Python . เราจะใช้วิธีเรียก inbuilt จัดเรียง เพื่อจัดเรียงพจนานุกรม
ขั้นตอนในการจัดเรียงพจนานุกรม
เราจะทำตามขั้นตอนด้านล่างเพื่อจัดเรียงพจนานุกรมโดยใช้ค่า
- ส่งรายการที่มีพจนานุกรมและคีย์ไปยัง เรียงลำดับ วิธีการ
- เราสามารถส่งกุญแจได้สองวิธี
- 1.การใช้ แลมบ์ดา ฟังก์ชัน
- 2.การใช้ itemgetter วิธีการ
- เราสามารถส่งกุญแจได้สองวิธี
มาดูตัวอย่างกัน
1. การใช้ฟังก์ชันแลมบ์ดา
ตัวอย่าง
## list of dictionaries dicts = [ {"name" : "John", "salary" : 10000}, {"name" : "Emma", "salary" : 30000}, {"name" : "Harry", "salary" : 15000}, {"name" : "Aslan", "salary" : 10000} ] ## sorting the above list using 'lambda' function ## we can reverse the order by passing 'reverse' as 'True' to 'sorted' method print(sorted(dicts, key = lambda item: item['salary']))
หากคุณเรียกใช้โปรแกรมข้างต้น เราจะได้ผลลัพธ์ดังต่อไปนี้
[{'name': 'John', 'salary': 10000}, {'name': 'Aslan', 'salary': 10000}, {'name': 'Harry', 'salary': 15000}, {'name': 'Emma', 'salary': 30000}]
2. ใช้วิธี itemgetter
การประมวลผลรายการเรียงลำดับของพจนานุกรมโดยใช้ itemgetter คล้ายกับกระบวนการข้างต้น เราส่งค่าไปยังคีย์โดยใช้ itemgetter วิธี นั่นคือความแตกต่างเพียงอย่างเดียว มาดูกันค่ะ
ตัวอย่าง
## importing itemgetter from the operator from operator import itemgetter ## list of dictionaries dicts = [ {"name" : "John", "salary" : 10000}, {"name" : "Emma", "salary" : 30000}, {"name" : "Harry", "salary" : 15000}, {"name" : "Aslan", "salary" : 10000} ] ## sorting the above list using 'lambda' function ## we can reverse the order by passing 'reverse' as 'True' to 'sorted' method print(sorted(dicts, key = itemgetter('salary')))
ผลลัพธ์
หากคุณเรียกใช้โปรแกรมข้างต้น เราจะได้ผลลัพธ์ดังต่อไปนี้
[{'name': 'John', 'salary': 10000}, {'name': 'Aslan', 'salary': 10000}, {'name': 'Harry', 'salary': 15000}, {'name': 'Emma', 'salary': 30000}]