บางครั้งในพจนานุกรม Python เราอาจจำเป็นต้องกรองคีย์บางคีย์ของพจนานุกรมตามเกณฑ์บางอย่าง ในบทความนี้เราจะมาดูวิธีการกรองคีย์จากพจนานุกรม Python
มี for และ in
ในแนวทางนี้ เราใส่ค่าของคีย์ที่จะกรองในรายการ จากนั้นวนซ้ำในแต่ละองค์ประกอบของรายการและตรวจสอบว่ามีอยู่ในพจนานุกรมที่กำหนดหรือไม่ เราสร้างพจนานุกรมผลลัพธ์ที่มีค่าเหล่านี้ซึ่งพบได้ในพจนานุกรม
ตัวอย่าง
dictA= {'Mon':'Phy','Tue':'chem','Wed':'Math','Thu':'Bio'}
key_list = ['Tue','Thu']
print("Given Dictionary:\n",dictA)
print("Keys for filter:\n",key_list)
res = [dictA[i] for i in key_list if i in dictA]
print("Dictionary with filtered keys:\n",res) ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given Dictionary:
{'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
Keys for filter:
['Tue', 'Thu']
Dictionary with filtered keys:
['chem', 'Bio'] มีสี่แยก
เราใช้จุดตัดเพื่อค้นหาองค์ประกอบทั่วไประหว่างพจนานุกรมที่กำหนดและรายการ จากนั้นใช้ฟังก์ชัน set เพื่อรับองค์ประกอบที่แตกต่างและแปลงผลลัพธ์เป็นรายการ
ตัวอย่าง
dictA= {'Mon':'Phy','Tue':'chem','Wed':'Math','Thu':'Bio'}
key_list = ['Tue','Thu']
print("Given Dictionary:\n",dictA)
print("Keys for filter:\n",key_list)
temp = list(set(key_list).intersection(dictA))
res = [dictA[i] for i in temp]
print("Dictionary with filtered keys:\n",res) ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given Dictionary:
{'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
Keys for filter:
['Tue', 'Thu']
Dictionary with filtered keys:
['chem', 'Bio']