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

Python - รับรายการตามลำดับการเรียงลำดับจากพจนานุกรมที่กำหนด


พจนานุกรม Python มีคู่คีย์และค่า ในบางสถานการณ์ เราจำเป็นต้องจัดเรียงรายการในพจนานุกรมตามคีย์ ในบทความนี้ เราจะเห็นวิธีต่างๆ ในการรับผลลัพธ์ที่เรียงลำดับจากรายการในพจนานุกรม

การใช้โมดูลตัวดำเนินการ

โมดูล Operator มีฟังก์ชัน itemgetter ซึ่งสามารถรับ 0 เป็นดัชนีของพารามิเตอร์อินพุตสำหรับคีย์ของพจนานุกรม เราใช้ฟังก์ชัน sorted ที่ด้านบนของ itemgetter และรับเอาต์พุตที่จัดเรียง

ตัวอย่าง

dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
import operator
print("\nGiven dictionary", str(dict))
print ("sorted order from given dictionary")
for k, n in sorted(dict.items(),key = operator.itemgetter(0),reverse = False):
   print(k, " ", n)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given dictionary {12: 'Mon', 21: 'Tue', 17: 'Wed'}
sorted order from given dictionary
12    Mon
17    Wed
21    Tue

การใช้วิธีการเรียงลำดับ

วิธีการจัดเรียงสามารถใช้กับพจนานุกรมได้โดยตรง ซึ่งจะเรียงลำดับคีย์ของพจนานุกรม

ตัวอย่าง

dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
#Using sorted()
print ("Given dictionary", str(dict))
print ("sorted order from given dictionary")
for k in sorted(dict):
   print (dict[k])

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given dictionary {12: 'Mon', 21: 'Tue', 17: 'Wed'}
sorted order from given dictionary
Mon
Wed
Tue

การใช้ dict.items()

เราสามารถใช้วิธี sorted กับ dict.items ได้ด้วย ในกรณีนี้ สามารถพิมพ์ได้ทั้งคีย์และค่า

ตัวอย่าง

dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
#Using d.items()
print("\nGiven dictionary", str(dict))
print ("sorted order from given dictionary")
for k, i in sorted(dict.items()):
   print(k,i)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given dictionary {12: 'Mon', 21: 'Tue', 17: 'Wed'}
sorted order from given dictionary
12    Mon
17    Wed
21    Tue