पायथन में ऑब्जेक्ट्स को फ़िल्टर करने के लिए filter फ़ंक्शन
चलिए अब filter फ़ंक्शन को सीखते हैं।
यह किसी शर्त के आधार पर सूचियों और अन्य
पुनरावृत्ति योग्य ऑब्जेक्ट्स के तत्वों को
फ़िल्टर करने की अनुमति देता है। यह अपने पहले
पैरामीटर में एक ऐसे फ़ंक्शन को स्वीकार करता है
जो जांच की शर्त निर्धारित करता है।
दूसरे पैरामीटर में वह सूची निर्दिष्ट करते हैं
जिसके तत्वों को फ़िल्टर किया जाएगा।
यदि फ़ंक्शन True लौटाता है, तो
तत्व नई सूची में रहता है। यदि
False लौटाया जाता है, तो तत्व
सूची में शामिल नहीं होता है।
मान लीजिए कि हमारे पास एक सूची है:
lst = [1, 2, 3, 4, 5, 6]
चलिए इसमें केवल सम संख्याएँ ही रखेंगे।
इसके लिए लैम्ब्डा-फ़ंक्शन का उपयोग करके यह
लिखेंगे कि इसके पैरामीटर में पारित संख्या
2 से विभाजित हो: बिना किसी शेषफल के:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
कोड निष्पादित होने के बाद एक नई सूची लौटेगी:
[2, 4, 6]
संख्याओं वाली एक सूची दी गई है:
lst = [1, 2, 3, 4, 5]
इस सूची से केवल विषम संख्याएँ ही एक नई सूची में लिखें।
स्ट्रिंग्स वाली एक सूची दी गई है:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
नई सूची में केवल वही स्ट्रिंग्स लिखें
जिनकी लंबाई 2 के बराबर हो।