Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन फ़िल्टर: एक चरण-दर-चरण ट्यूटोरियल

पायथन filter() विधि का उपयोग सूचियों, सेट्स और टपल्स को फ़िल्टर करने के लिए किया जाता है। filter() किसी भी प्रदान किए गए मानदंड का पालन करके एक इटरेबल ऑब्जेक्ट को फ़िल्टर करता है, और फ़िल्टर किया गया परिणाम लौटाता है।


पायथन फ़िल्टर का परिचय

जब आप प्रोग्रामिंग कर रहे होते हैं, तो आपके पास मूल्यों की एक सूची हो सकती है जिसे आप किसी तरह से फ़िल्टर करना चाहते हैं। उदाहरण के लिए, आपके पास कुकी ऑर्डर की एक सूची हो सकती है और आप केवल उनको लौटाना चाहते हैं जिनमें चॉकलेट शामिल है, जिसे आपकी कुकी स्टोर पर एक विशिष्ट कुक द्वारा संभाला जाता है।

यहीं पायथन filter() विधि काम आती है। filter() विधि का उपयोग एक पूर्वनिर्धारित मानदंड के आधार पर एक विशेष सूची को फ़िल्टर करने और फ़िल्टर किए गए डेटा के साथ एक इटरेबल लौटाने के लिए किया जा सकता है।

इस ट्यूटोरियल में, हम filter() विधि पर चर्चा करेंगे और आप इसे अपने कोड में कैसे उपयोग कर सकते हैं। हम पायथन कोड में फ़ंक्शन के कुछ उदाहरणों से भी गुजरेंगे।

पायथन फ़िल्टर सिंटैक्स

सूचियां पायथन में एक डेटा प्रकार हैं जिनका उपयोग एक सामान्य विषय के साथ कई मानों को संग्रहीत करने के लिए किया जा सकता है। उदाहरण के लिए, आप एक स्थानीय फैशन स्टोर पर बिक्री के लिए सभी कपड़ों को संग्रहीत करने के लिए एक सूची का उपयोग कर सकते हैं, या प्रोग्रामिंग भाषा के नामों की सूची संग्रहीत करने के लिए।

अक्सर, जब आप सूचियों के साथ काम कर रहे होते हैं, तो आप एक मानदंड सेट के आधार पर सूची को फ़िल्टर करना चाहेंगे। उदाहरण के लिए, आप एक मूवी थिएटर संचालित कर रहे होंगे और जानना चाहेंगे कि आपके सिनेमा कॉम्प्लेक्स में फिल्में देखने के लिए 18 वर्ष से कम उम्र के कितने लोग आते हैं।

filter(), एक बिल्ट-इन फ़ंक्शन, का उपयोग एक सूची को फ़िल्टर करने और एक इटरेबल लौटाने के लिए किया जा सकता है। यहां filter() विधि का सिंटैक्स है:

filter(function, iterable_object)

filter() विधि दो पैरामीटर लेती है:

  • function वह कोड है जिसे आपके द्वारा निर्दिष्ट इटरेबल में प्रत्येक आइटम पर चलाया जाता है (आवश्यक)। फ़ंक्शन जांचेगा कि इटरेबल True या False लौटाता है।
  • iterable_object वह ऑब्जेक्ट है जिसे आप फ़िल्टर करना चाहते हैं (आवश्यक)।

आपके द्वारा निर्दिष्ट इटरेबल ऑब्जेक्ट कोई भी इटरेबल हो सकता है जैसे पायथन सूचियां, सेट्स, और टपल्स।

पायथन फ़िल्टर उदाहरण

आइए एक उदाहरण चलाते हैं यह दिखाने के लिए कि इस विधि का उपयोग कैसे किया जा सकता है।

उदाहरण 1: पत्रिका इन्वेंटरी जांच

मान लें कि आप एक पत्रिका स्टैंड संचालित कर रहे हैं और आप जांचना चाहते हैं कि क्या आपको नई इन्वेंटरी ऑर्डर करने की आवश्यकता है। यदि आपके पास किसी पत्रिका के 20 से कम संस्करण हैं, तो आपको एक नया ऑर्डर देना होगा; यदि आपके पास किसी पत्रिका के 20 से अधिक संस्करण हैं, तो आपको नया ऑर्डर देने की आवश्यकता नहीं है। आपके पास पत्रिकाओं की मात्रा को संग्रहीत करने वाली संख्याओं की एक सूची है।

यह जांचने के लिए कि क्या आपको किसी पत्रिका के लिए ऑर्डर देना है, आप निम्न कोड का उपयोग कर सकते हैं:

quantities = [25, 49, 21, 17, 14, 28]
def checkQuantities(mags):
    if mags < 20:
        return True
    else:
        return False

filtered_mags = filter(checkQuantities, quantities)
print(list(filtered_mags))

हमारा कोड लौटाता है: [17, 14]

आइए अपने कोड को समझते हैं। पहली पंक्ति पर, हम quantities नामक एक वेरिएबल परिभाषित करते हैं जो हमारी इन्वेंट्री में प्रत्येक पत्रिका के कितने संस्करण हैं, इसे संग्रहीत करता है।

फिर, हम checkQuantities नामक एक फ़ंक्शन परिभाषित करते हैं जो जांच करेगा कि क्या हमारे पास किसी विशिष्ट पत्रिका के 20 से कम संस्करण स्टॉक में हैं। यदि हमारे पास 20 से कम संस्करण हैं, तो हमारा checkQuantities फ़ंक्शन True लौटाता है; अन्यथा, यह False लौटाएगा।

अगला, हम filter() विधि का उपयोग करते हैं और checkQuantities को अपने फ़ंक्शन के रूप में और quantities को अपने इटरेबल ऑब्जेक्ट के रूप में निर्दिष्ट करते हैं। यह हमारे filter() विधि को quantities सरणी में प्रत्येक आइटम पर checkQuantities निष्पादित करने के लिए कहता है।

फिर, हम अपने filter() विधि का परिणाम प्रिंट करते हैं, और इसे सूची में बदलने के लिए list() का उपयोग करते हैं। यह महत्वपूर्ण है क्योंकि filter() एक फ़िल्टर किया गया ऑब्जेक्ट लौटाता है, सूची नहीं। इसलिए, यदि हम अपना डेटा देखना चाहते हैं, तो हमें इसे सूची में बदलना होगा।

जैसा कि आप देख सकते हैं, हमारा कोड दो मान लौटाता है: 17 और 14। इनमें से प्रत्येक 20 से कम है, जिसका अर्थ है कि हमारा प्रोग्राम इरादे के अनुसार काम कर रहा है।

उदाहरण 2: छात्र आयु फ़िल्टर करना

आइए एक और उदाहरण देखते हैं यह दिखाने के लिए कि यह विधि कैसे काम करती है। मान लें कि हम एक डांस इंस्ट्रक्टर हैं और हम अपनी कक्षा में उन सभी की उम्र जानना चाहते हैं जो सात और दस के बीच हैं, जिसमें सात और दस दोनों शामिल हैं। हम इस डेटा को प्राप्त करने के लिए निम्न कोड का उपयोग कर सकते हैं:

student_ages = [7, 9, 8, 10, 11, 11, 8, 9, 12]
def checkAges(ages):
    if ages >= 7 and ages <= 10:
        return True
    else:
        return False

filtered_ages = filter(checkAges, student_ages)
print(list(filtered_ages))

हमारा कोड लौटाता है: [7, 9, 8, 10, 8, 9]। जैसा कि आप देख सकते हैं, हमारे प्रोग्राम ने हमारी सूची तत्वों से सात और दस की आयु के छात्रों को फ़िल्टर कर दिया है, जिसमें सात और दस दोनों शामिल हैं। परिणामी सूची में हमारा फ़िल्टर किया गया डेटा है।

पायथन फ़िल्टर लैम्ब्डा के साथ

अपने फ़िल्टर ऑपरेशन को अधिक कुशल बनाने के लिए, हम लिस्ट मैप लैम्ब्डा फ़ंक्शन का उपयोग कर सकते हैं। लैम्ब्डा एक विशेष फ़ंक्शन है जिसे बिना नाम के परिभाषित किया जाता है और इसका उपयोग पायथन में छोटे, एक-लाइन अनाम फ़ंक्शन लिखने के लिए किया जा सकता है।

तो, आइए ऊपर से अपने पत्रिका मात्रा उदाहरण को लेते हैं। उस उदाहरण में, हमने एक फ़ंक्शन बनाया जो जांचता था कि क्या हमारे पास स्टॉक में किसी पत्रिका के 20 से कम संस्करण हैं और उस फ़ंक्शन को हमारी पत्रिकाओं की सूची पर निष्पादित करने के लिए filter() का उपयोग किया। फिर, हमारे प्रोग्राम ने प्रत्येक पत्रिका की एक सूची लौटाई जिसके लिए हमारे पास 20 से कम संस्करण थे।

हम इसी क्रिया को करने के लिए एक लैम्ब्डा फ़ंक्शन का उपयोग कर सकते हैं, लेकिन अधिक कुशलता से। यहां वह कोड है जिसका हम उपयोग कर सकते हैं:

quantities = [25, 49, 21, 17, 14, 28]
filtered_mags = filter(lambda mag: mag < 20, quantities)
print(list(filtered_mags))

हमारा कोड लौटाता है: [17, 14]।

जैसा कि आप देख सकते हैं, हमारा आउटपुट समान है, लेकिन हमारा कोड काफी छोटा है। एक पूरा फ़ंक्शन परिभाषित करने के बजाय, हमने एक-लाइन फ़ंक्शन को परिभाषित करने के लिए लैम्ब्डा का उपयोग किया है।

यह एक-लाइन फ़ंक्शन जांचता है कि क्या हमारे पास स्टॉक में किसी पत्रिका की 20 से कम प्रतियां हैं, और यदि ऐसा है तो filter() इटरेबल को True लौटाता है। निष्पादन के बाद, हमारा प्रोग्राम दो मानों वाली एक सूची लौटाता है: 17 और 14।

निष्कर्ष

पायथन filter() फ़ंक्शन का उपयोग पूर्वनिर्धारित मानदंड के आधार पर एक इटरेबल ऑब्जेक्ट को फ़िल्टर करने और एक फ़िल्टर किया गया इटरेबल लौटाने के लिए किया जा सकता है। यह विधि उपयोगी हो सकती है यदि आपके पास डेटा की एक सूची है जिससे आप केवल उन मानों को पुनः प्राप्त करना चाहते हैं जो कुछ मानदंडों को पूरा करते हैं।

इस गाइड में, हमने filter() विधि के सिंटैक्स पर चर्चा की, और इसका पायथन में उपयोग कैसे किया जा सकता है। हमने filter() के कुछ उदाहरणों का पता लगाया, फिर हमने देखा कि कैसे filter() का उपयोग पायथन लैम्ब्डा फ़ंक्शन के साथ हमारे कोड को अधिक कुशल बनाने के लिए किया जा सकता है।

अब आप filter() का उपयोग एक पायथन विशेषज्ञ की तरह करने के लिए सुसज्जित हैं!

  1. पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड

    पायथन प्रोग्राम कैसे एक्जीक्यूट होता है? पायथन, जावा की तरह, पूरी तरह से इंटरप्रेटेड भाषा के रूप में वर्गीकृत नहीं किया जा सकता और न ही कंपाइल्ड भाषा के रूप में। यह दोनों का थोड़ा सा है। कंपाइल्ड होने का मतलब इस उदाहरण में है किसी प्लेटफॉर्म पर निर्भर न करने वाली निचले स्तर की भाषा में अनुवादित होन

  1. - पायथन में filter() क्या है?

    filter मेथड के माध्यम से, हम एक अलग फंक्शन में परिभाषित फ़िल्टर कंडीशन का उपयोग करके एक लिस्ट के विशिष्ट एलिमेंट्स को फ़िल्टर आउट करते हैं। इसलिए हम पहले एक यूजर-डिफाइंड फंक्शन बनाते हैं जो फ़िल्टरिंग के मानदंड का उल्लेख करेगा। यह फंक्शन और दी गई लिस्ट एक साथ पैरामीटर्स के रूप में filter फंक्शन को

  1. - Python में Filter

    हम कभी-कभी ऐसी स्थिति में पहुंच जाते हैं जहां हमारे पास दो सूचियां होती हैं और हम जांचना चाहते हैं कि छोटी सूची से प्रत्येक आइटम बड़ी सूची में मौजूद है या नहीं। ऐसे मामले में हम नीचे चर्चा किए गए filter() फ़ंक्शन का उपयोग करते हैं।सिंटैक्सFilter(function_name, sequence name)यहां Function_name उस फ़ं