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)

Output

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -

Given Dictionary:   {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
Keys for filter:   ['Tue', 'Thu']
Dictionary with filtered keys:   ['chem', 'Bio']

ด้วย intersection

เราใช้ intersection เพื่อหาองค์ประกอบร่วมระหว่างพจนานุกรมที่กำหนดและลิสต์ จากนั้นใช้ฟังก์ชัน 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)

Output

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -

Given Dictionary:   {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
Keys for filter:   ['Tue', 'Thu']
Dictionary with filtered keys:   ['chem', 'Bio']