कभी-कभी Python डिक्शनरी में हमें कुछ मानदंडों के आधार पर डिक्शनरी की कुछ कीज़ को फ़िल्टर आउट करने की आवश्यकता होती है। इस आर्टिकल में हम देखेंगे कि Python डिक्शनरी से कीज़ को कैसे फ़िल्टर आउट किया जाए।
for और in के साथ
इस दृष्टिकोण में हम फ़िल्टर की जाने वाली कीज़ की वैल्यूज़ को एक लिस्ट में रखते हैं। फिर लिस्ट के प्रत्येक एलिमेंट के माध्यम से इटरेट करते हैं और दी गई डिक्शनरी में इसकी उपस्थिति की जांच करते हैं। हम एक रिजल्टिंग डिक्शनरी बनाते हैं जिसमें ये वैल्यूज़ होती हैं जो डिक्शनरी में पाई जाती हैं।
उदाहरण
dictA = {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
key_list = ['Tue', 'Thu']
print("दी गई डिक्शनरी:\n", dictA)
print("फ़िल्टर के लिए कीज़:\n", key_list)
res = [dictA[i] for i in key_list if i in dictA]
print("फ़िल्टर्ड कीज़ के साथ डिक्शनरी:\n", res)
आउटपुट
दी गई डिक्शनरी: {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
फ़िल्टर के लिए कीज़: ['Tue', 'Thu']
फ़िल्टर्ड कीज़ के साथ डिक्शनरी: ['chem', 'Bio']
intersection के साथ
हम दी गई डिक्शनरी और लिस्ट के बीच कॉमन एलिमेंट्स ढूंढने के लिए intersection का उपयोग करते हैं। फिर डिस्टिंक्ट एलिमेंट्स प्राप्त करने के लिए सेट फंक्शन लागू करते हैं और रिजल्ट को लिस्ट में कन्वर्ट करते हैं।
उदाहरण
dictA = {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
key_list = ['Tue', 'Thu']
print("दी गई डिक्शनरी:\n", dictA)
print("फ़िल्टर के लिए कीज़:\n", key_list)
temp = list(set(key_list).intersection(dictA))
res = [dictA[i] for i in temp]
print("फ़िल्टर्ड कीज़ के साथ डिक्शनरी:\n", res)
आउटपुट
दी गई डिक्शनरी: {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
फ़िल्टर के लिए कीज़: ['Tue', 'Thu']
फ़िल्टर्ड कीज़ के साथ डिक्शनरी: ['chem', 'Bio']