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

วิธีจัดเรียงรายการพจนานุกรมโดยใช้ค่าใน python


ในบทความนี้ คุณจะได้เรียนรู้วิธีจัดเรียงรายการพจนานุกรมโดยใช้ค่าใน 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}]