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

पायथन मैप फंक्शन:एक चरण-दर-चरण मार्गदर्शिका

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


जब आप Python में आइटम की सूची के साथ काम कर रहे हों, तो आप उनमें से प्रत्येक आइटम पर एक विशिष्ट कार्य करना चाह सकते हैं।

यहीं से पायथन बिल्ट-इन फंक्शन मैप () आता है। पायथन मैप फंक्शन एक पुनरावर्तनीय वस्तु के भीतर सभी तत्वों पर एक फंक्शन निष्पादित करता है, जैसे कि एक सूची, और मैप ऑब्जेक्ट लौटाता है।

इस ट्यूटोरियल में, उदाहरणों की एक श्रृंखला का उपयोग करते हुए, हम चर्चा करते हैं कि map() . का उपयोग कैसे करें पायथन में कार्य करें।

पायथन चलने योग्य वस्तुएँ

चलने योग्य वस्तुएँ वे वस्तुएँ होती हैं जिनमें गणनीय संख्या में मान होते हैं और जिन्हें ट्रैवर्स किया जा सकता है। सूचियाँ, शब्दकोश, टुपल्स, और सेट पाइथन में सभी चलने योग्य वस्तुएं हैं क्योंकि उनमें कई मान हो सकते हैं और उन्हें ट्रैवर्स किया जा सकता है।

मान लें कि आपके पास छात्रों के नामों की एक सूची है जिसे आप स्टोर करना चाहते हैं। इन नामों को कई पायथन चर में संग्रहीत करने के बजाय, आप मानों को संग्रहीत करने के लिए एक सरणी घोषित कर सकते हैं:

students = ["Lucy", "Bill", "Graham", "Tommy", "Leslie"]

हमारे students चर में एक सूची है, जो एक चलने योग्य वस्तु है। इसका मतलब है कि हम सूची में आइटम के माध्यम से जा सकते हैं।

पायथन मैप फंक्शन सिंटैक्स

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

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

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

पायथन नक्शा () एक उच्च-क्रम फ़ंक्शन है जिसका उपयोग एक विशिष्ट फ़ंक्शन को एक पुनरावृत्त वस्तु में कई तत्वों पर लागू करने के लिए किया जा सकता है। पायथन के लिए वाक्य रचना नक्शा () फ़ंक्शन इस प्रकार है:

map(function, iterable)

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

पायथन में मैप फ़ंक्शन का उपयोग कैसे करें

मान लें कि आप एक ऐसे स्कूल के व्यवस्थापक हैं, जिसे एक पूर्ण छात्र रोस्टर बनाने का काम सौंपा गया है।

हम प्रत्येक छात्र के नाम के आगे सूचीबद्ध प्रत्येक छात्र के कक्षा ग्रेड के साथ छात्रों के नामों की एक सूची का प्रिंट आउट लेने का निर्णय लेते हैं। यह भ्रम को रोकेगा यदि दो अलग-अलग ग्रेड के दो छात्रों का नाम एक ही है।

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

def mergeNamesAndGrades(name):
	return name + " First Grade"

students = ["Lucy", "Bill", "Graham", "Tommy", "Leslie"]
student_roster = map(mergeNamesAndGrades, students)

पहली दो पंक्तियों में, हम mergeNamesAndGrades . नामक एक पायथन फ़ंक्शन घोषित करते हैं . यह फ़ंक्शन प्रत्येक छात्र के नाम को प्रथम श्रेणी . के साथ जोड़ता है .

फिर, अगली पंक्ति में, हम अपने विद्यालय में विद्यार्थियों की सूची को परिभाषित करते हैं। हमारी सूची में ये पांच छात्र हैं।

नक्शा () फ़ंक्शन student_roster . की सामग्री पर लागू होता है पायथन चर। map() फ़ंक्शन दो तर्कों में लेता है:फ़ंक्शन (इस मामले में, mergeNamesAndGrades) और चलने योग्य ऑब्जेक्ट (छात्र)।

नक्शा () विधि हमारी सूची में प्रत्येक छात्र के लिए mergeNamesAndGrades () फ़ंक्शन लागू करती है।

पायथन मानचित्र को सूची में बदलना

हालाँकि, हमारा कार्यक्रम अभी पूरा नहीं हुआ है। नक्शा () फ़ंक्शन एक मैप की गई वस्तु देता है, न कि हमारी पूरी सूची। अगर हम अपने student_roster . का प्रिंट आउट लेते हैं चर अभी, हमारा कोड इस तरह से एक मैप की गई वस्तु लौटाएगा:

<map object at 0x7f2c74103890>

यह आउटपुट इसलिए उत्पन्न हुआ क्योंकि map() फ़ंक्शन किसी सूची के बजाय अपना स्वयं का कस्टम ऑब्जेक्ट देता है। इसलिए, यदि हम छात्रों के नामों की सूची का प्रिंट आउट लेना चाहते हैं, तो हमें अपना student_roster रूपांतरित करना होगा सूची में परिवर्तनशील। यह कोड हम इस क्रिया को करने के लिए उपयोग कर सकते हैं:

print(list(student_roster))

हमारा कोड निम्नलिखित पायथन सूची लौटाता है:

['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']

आइए एक और उदाहरण देखें। मान लें कि हम अपने छात्र रोस्टर के लिए प्रत्येक छात्र के नाम और ग्रेड को अपर केस में बदलना चाहते हैं। हम छात्र के नाम और ग्रेड के मामलों को बदलने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

def changeCase(name):
	return name.upper()

student_roster = ['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']
final_student_roster = map(changeCase, student_roster)
print(list(final_student_roster))

हमारा कोड एक सूची देता है जिस पर हम पुनरावृति कर सकते हैं:

['LUCY FIRST GRADE', 'BILL FIRST GRADE', 'GRAHAM FIRST GRADE', 'TOMMY FIRST GRADE', 'LESLIE FIRST GRADE']

इस उदाहरण में, हमने changeCase नामक एक फ़ंक्शन को परिभाषित किया है। इस फ़ंक्शन ने प्रत्येक छात्र के नाम को अपरकेस में बदल दिया। हमने पायथन ऊपरी () . का इस्तेमाल किया प्रत्येक नाम के मामले को बदलने के लिए कार्य करें।

हमारे प्रोग्राम ने मैप () . का इस्तेमाल किया कॉल करने के लिए कार्य changeCase() हमारे चलने योग्य student_roster . में प्रत्येक वस्तु पर . अंत में, हमारे कार्यक्रम ने बड़े अक्षरों में छात्रों के नामों की संशोधित सूची लौटा दी।

लैम्ब्डा के साथ पायथन मैप फंक्शन

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

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

लैम्ब्डा फ़ंक्शन का उपयोग map() . के साथ किया जा सकता है छोटे कार्यों के लिए जहां हम एक नए फ़ंक्शन को परिभाषित नहीं करना चाहते हैं।

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

यहां लैम्ब्डा का एक उदाहरण दिया गया है जिसका उपयोग छात्र नामों की सूची के मामले को अपरकेस में बदलने के लिए किया जा रहा है, जैसा कि हमने ऊपर किया था:

student_roster = ['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']
final_student_roster = map(lambda s: s.upper(), student_roster)
print(list(final_student_roster))

हमने अपने छात्र नामों के मामलों को अपरकेस में बदलने के लिए एक नए समारोह की घोषणा नहीं की। इसके बजाय, हमने lambda s:s.upper() . का इस्तेमाल किया , जो एक छोटा, अनाम फ़ंक्शन है जो हमारे छात्र नामों के मामलों को बदल देगा।

हमारा कोड निम्नलिखित लौटाता है:

['LUCY FIRST GRADE', 'BILL FIRST GRADE', 'GRAHAM FIRST GRADE', 'TOMMY FIRST GRADE', 'LESLIE FIRST GRADE']

निष्कर्ष

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

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

अब आप उस पायथन ज्ञान से लैस हैं जिसकी आपको map() . का उपयोग शुरू करने की आवश्यकता है एक समर्थक की तरह।


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

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

  1. पायथन का नाम बदलें फ़ाइल:एक चरण-दर-चरण मार्गदर्शिका

    पायथन os.rename() विधि फ़ाइल का नाम बदल देती है। os.rename() दो तर्कों को स्वीकार करता है:पुरानी फ़ाइल का पथ और नई फ़ाइल का पथ। नया फ़ाइल पथ किसी भिन्न फ़ाइल नाम में समाप्त होना चाहिए। जब आप पायथन में फाइलों के साथ काम कर रहे होते हैं, तो आप यह तय कर सकते हैं कि आप किसी विशेष फाइल का नाम बदलना चा

  1. पायथन एब्सोल्यूट वैल्यू:एक चरण-दर-चरण मार्गदर्शिका

    पायथन एब्स () विधि किसी संख्या का निरपेक्ष मान लौटाती है। किसी संख्या का निरपेक्ष मान 0 से संख्या की दूरी है। यह किसी भी ऋणात्मक संख्या को धनात्मक बनाता है, जबकि धनात्मक संख्याएँ अप्रभावित रहती हैं। उदाहरण के लिए, abs(-9) 9 लौटाएगा, जबकि abs(2) 2 लौटाएगा। एक निरपेक्ष मान संख्या रेखा पर किसी संख्य