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

Python - คีย์พจนานุกรมกรองตามค่าในรายการที่เลือก


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