โจทย์: กำหนด Dictionary หาค่า (value) สูงสุด 3 อันดับและแสดง
วิธี 1: ใช้ collections.Counter และ most_common()
from collections import Counter
my_dict = {'t': 3, 'u': 4, 't': 6, 'o': 5, 'r': 21}
k = Counter(my_dict)
high = k.most_common(3)
print("Dictionary with 3 highest values:")
print("Keys: Values")
for i in high:
print(i[0], ":", i[1])
ผลลัพธ์
Dictionary with 3 highest values:
Keys: Values
r : 21
t : 6
o : 5
วิธี 2: ใช้ heapq.nlargest()
(โค้ดตัวอย่างในต้นฉบับซ้ำกับวิธี 1 จริงๆ ควรใช้ heapq.nlargest)
import heapq
my_dict = {'t': 3, 'u': 4, 't': 6, 'o': 5, 'r': 21}
high = heapq.nlargest(3, my_dict.items(), key=lambda x: x[1])
print("Dictionary with 3 highest values:")
for k, v in high:
print(k, ":", v)
ผลลัพธ์
Dictionary with 3 highest values:
r : 21
t : 6
o : 5
สรุป
เรียนรู้ 2 วิธีหาค่าสูงสุด 3 อันดับใน Dictionary: Counter.most_common() และ heapq.nlargest()