डेटा विश्लेषण के हिस्से के रूप में, हम डिक्शनरी से नकारात्मक मानों को हटाने के परिदृश्यों में आएंगे। इसके लिए हमें डिक्शनरी में प्रत्येक तत्व के माध्यम से लूप करना होगा और मान की जांच के लिए एक शर्त का उपयोग करना होगा। इसे प्राप्त करने के लिए नीचे दो दृष्टिकोण लागू किए जा सकते हैं।
फॉर लूप का उपयोग करके
हम केवल फॉर लूप का उपयोग करके सूची के तत्वों के माध्यम से लूप करते हैं। प्रत्येक पुनरावृत्ति में हम आइटम फंक्शन का उपयोग करके तत्व के मान की तुलना 0 से करते हैं ताकि नकारात्मक मान की जांच की जा सके।
उदाहरण
dict_1 = {'x':10, 'y':20, 'z':-30, 'p':-0.5, 'q':50}
print ("Given Dictionary :", str(dict_1))
final_res_1 = dict((i, j) for i, j in dict_1.items() if j >= 0)
print("After filtering the negative values from dictionary : ", str(final_res_1))
आउटपुट
उपरोक्त कोड चलाने से हमें निम्नलिखित परिणाम मिलता है:
Given Dictionary : {'x': 10, 'y': 20, 'z': -30, 'p': -0.5, 'q': 50}
After filtering the negative values from dictionary : {'x': 10, 'y': 20, 'q': 50}
लैम्ब्डा फंक्शन का उपयोग करके
हम एक छोटे और स्पष्ट सिंटैक्स के लिए लैम्ब्डा फंक्शन का उपयोग करते हैं। इस मामले में हम ऊपर जैसा ही तर्क लागू करते हैं लेकिन लैम्ब्डा फंक्शन का उपयोग करते हैं।
उदाहरण
dictA = {'x':-4/2, 'y':15, 'z':-7.5, 'p':-9, 'q':17.2}
print ("\nGiven Dictionary :", dictA)
final_res = dict(filter(lambda k: k[1] >= 0.0, dictA.items()))
print("After filtering the negative values from dictionary : ", str(final_res))
आउटपुट
उपरोक्त कोड चलाने से हमें निम्नलिखित परिणाम मिलता है:
Given Dictionary : {'x': -2.0, 'y': 15, 'z': -7.5, 'p': -9, 'q': 17.2}
After filtering the negative values from dictionary : {'y': 15, 'q': 17.2}