บางครั้งในพจนานุกรม 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']