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

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

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


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

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

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

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

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

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

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

<पूर्व>फ़िल्टर (फ़ंक्शन, iterable_object)

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

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

  • समारोह आपके द्वारा निर्दिष्ट (आवश्यक) चलने योग्य में प्रत्येक आइटम पर चलने वाला कोड है। फ़ंक्शन जाँच करेगा कि क्या पुनरावर्तनीय रिटर्न सही है या गलत।
  • iterable_object वह वस्तु है जिसे आप फ़िल्टर करना चाहते हैं (आवश्यक)।

आपके द्वारा निर्दिष्ट पुनरावर्तनीय वस्तु कोई भी चलने योग्य हो सकती है जैसे कि पायथन lists , sets , और tuples

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

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

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

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

<पूर्व>मात्राएँ =[25, 49, 21, 17, 14, 28] def checkQuantities(mags):if mags <20:return true else:return Falsefiltered_mags =filter(checkQuantities, मात्रा)print(list(filtered_mags))

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

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

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

इसके बाद, हम filter() . का उपयोग करते हैं विधि और निर्दिष्ट करें checkQuantities हमारे कार्य और quantities . के रूप में हमारे चलने योग्य वस्तु के रूप में। यह हमारे filter() . को बताता है निष्पादित करने की विधि checkQuantities मात्रा सरणी में प्रत्येक आइटम पर।

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

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

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

<पूर्व>student_ages =[7, 9, 8, 10, 11, 11, 8, 9, 12] def checkAges(आयु):यदि आयु>=7 और आयु <=10:वापसी सही है:रिटर्न Falsefiltered_ages =फ़िल्टर( checkAges, student_ages)प्रिंट(सूची(फ़िल्टर किए गए_आयु))

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

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

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

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

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

<पूर्व>मात्राएं =[25, 49, 21, 17, 14, 28]filtered_mags =filter(lambda mag:mag <20, मात्रा)प्रिंट (सूची(filtered_mags))

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

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

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

निष्कर्ष

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

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

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


  1. पायथन दुभाषिए:एक चरण-दर-चरण मार्गदर्शिका

    पायथन सीखने के लिए सुपर सुलभ है क्योंकि पायथन दुभाषिए ऑनलाइन मौजूद हैं, यह सुनिश्चित किए बिना कि आपके पास अपनी मशीन पर पायथन का सही संस्करण स्थापित है। इस लेख में, हम बात करते हैं कि पायथन इंटरप्रेटर क्या है और ऑनलाइन उपयोग के लिए उपलब्ध कुछ अधिक लोकप्रिय, शुरुआती-अनुकूल दुभाषियों की सूची बनाएं।

  1. पायथन में फ़िल्टर () क्या है?

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

  1. पायथन में फ़िल्टर करें

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