पायथन के अंतर्निहित map() फ़ंक्शन का परिचय
map()
फ़ंक्शन Python में एक शक्तिशाली और बहुमुखी बिल्ट-इन फ़ंक्शन है जो आपको किसी पुनरावृत्त (जैसे कि सूची या टपल) में प्रत्येक आइटम पर फ़ंक्शन लागू करने और एक मैप ऑब्जेक्ट लौटाने की अनुमति देता है, जो एक पुनरावर्तक है। यह फ़ंक्शन किसी भी Python प्रोग्रामर के लिए आवश्यक है जो स्वच्छ, कुशल और Pythonic कोड लिखना चाहता है।
map()
फ़ंक्शन क्या है?
पायथन में map()
फ़ंक्शन दो प्राथमिक तर्क लेता है: एक फ़ंक्शन और एक पुनरावृत्त। यह फ़ंक्शन को पुनरावृत्त में सभी आइटम पर लागू करता है और परिणामों को शामिल करते हुए एक पुनरावृत्तक (एक map
ऑब्जेक्ट) लौटाता है।
map()
का सिंटैक्स है:
map(function, iterable, ...)
यहाँ, function
वह फ़ंक्शन है जिसे इटेरेबल में प्रत्येक तत्व पर लागू किया जाना है, और iterable
कोई भी पायथन इटेरेबल हो सकता है, जैसे कि सूची, टपल या स्ट्रिंग। आप कई इटेरेबल भी प्रदान कर सकते हैं, और फ़ंक्शन को उतने ही तर्क स्वीकार करने चाहिए जितने इटेरेबल हैं।
map() का मूल उपयोग
आइए एक सरल उदाहरण देखें जहां हम सूची में प्रत्येक संख्या का वर्ग करने के लिए map()
का उपयोग करते हैं:
def square(x):
return x * x
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers)) # Output: [1, 4, 9, 16, 25]
इस उदाहरण में, square()
फ़ंक्शन को numbers
सूची के प्रत्येक तत्व पर लागू किया जाता है, और परिणाम एक नए इटरेटर के रूप में लौटाए जाते हैं। हम आसानी से देखने के लिए इटरेटर को सूची में बदलने के लिए list()
का उपयोग करते हैं।
लैम्ब्डा फ़ंक्शन के साथ map()
का उपयोग करना
एक अलग फ़ंक्शन को परिभाषित करने के बजाय, आप अपने कोड को अधिक संक्षिप्त बनाने के लिए लैम्ब्डा फ़ंक्शन का उपयोग कर सकते हैं। लैम्ब्डा फ़ंक्शन छोटे, अनाम फ़ंक्शन होते हैं जिन्हें lambda
कीवर्ड के साथ परिभाषित किया जाता है। यहाँ बताया गया है कि आप map()
के साथ लैम्ब्डा फ़ंक्शन का उपयोग कैसे कर सकते हैं:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x * x, numbers)
print(list(squared_numbers)) # Output: [1, 4, 9, 16, 25]
इस मामले में, हम फ़ंक्शन को सीधे map()
कॉल के अंदर परिभाषित करते हैं, जिससे कोड छोटा और अधिक पठनीय हो जाता है।
एकाधिक पुनरावृत्तीयों का मानचित्रण
map()
फ़ंक्शन एक से ज़्यादा इटरेबल भी ले सकता है। ऐसे मामलों में, दिए गए फ़ंक्शन में उतने ही तर्क होने चाहिए जितने इटरेबल हैं। map()
फ़ंक्शन तब प्रत्येक इटरेबल से संबंधित तत्वों का उपयोग करके फ़ंक्शन को लागू करेगा।
उदाहरण के लिए, आइए दो सूचियों से संगत तत्वों को जोड़ें:
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6]
summed_numbers = map(lambda x, y: x + y, numbers1, numbers2)
print(list(summed_numbers)) # Output: [5, 7, 9]
यहां, लैम्ब्डा फ़ंक्शन दो तर्क लेता है, x
और y
, जो क्रमशः numbers1
और numbers2
के तत्वों के अनुरूप होते हैं, और उनका योग लौटाता है।
map
ऑब्जेक्ट को अन्य डेटा प्रकारों में परिवर्तित करना
map()
फ़ंक्शन एक इटरेटर लौटाता है, जो एक ऑब्जेक्ट है जिस पर आप पुनरावृति कर सकते हैं लेकिन यह स्वयं एक सूची नहीं है। परिणाम को विभिन्न संदर्भों में उपयोग करने के लिए, आप इसे सूची, टपल या सेट जैसे किसी अन्य डेटा प्रकार में परिवर्तित करना चाह सकते हैं:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x * x, numbers)
print(list(squared_numbers)) # Convert to list: [1, 4, 9, 16, 25]
print(tuple(squared_numbers)) # Convert to tuple: ()
print(set(squared_numbers)) # Convert to set: set()
ध्यान दें कि एक बार इटरेटर समाप्त हो जाने पर (उदाहरण के लिए, इसे सूची में परिवर्तित करके), इसका पुनः उपयोग नहीं किया जा सकता। इसलिए, बाद के रूपांतरण खाली संग्रह लौटाएंगे।
map() के व्यावहारिक अनुप्रयोग
map()
फ़ंक्शन डेटा प्रोसेसिंग और फ़ंक्शनल प्रोग्रामिंग प्रतिमानों में विशेष रूप से उपयोगी है। यहाँ कुछ सामान्य अनुप्रयोग दिए गए हैं:
- किसी सूची या सारणी में प्रत्येक तत्व पर फ़ंक्शन लागू करना (उदाहरण के लिए, डेटा सामान्यीकरण)।
- डेटा प्रकारों को परिवर्तित करना (उदाहरण के लिए, स्ट्रिंग्स की सूची को पूर्णांकों की सूची में परिवर्तित करना).
- कई पुनरावृत्तीयों को समानांतर ढंग से संयोजित करना (उदाहरण के लिए, दो सूचियों पर तत्व-वार संचालन)।
- डेटा को साफ़ करना या रूपान्तरित करना (जैसे, रिक्त स्थान को कम करना या परिवर्तन लागू करना)।
निष्कर्ष
map()
फ़ंक्शन Python में एक बहुमुखी और शक्तिशाली टूल है जो फ़ंक्शन को iterables पर लागू करना आसान बनाता है। map()
का प्रभावी ढंग से उपयोग करने का तरीका समझकर, आप साफ़, अधिक कुशल और अधिक पायथनिक कोड लिख सकते हैं। चाहे आप शुरुआती हों या अनुभवी डेवलपर, map()
में महारत हासिल करने से आपको प्रोग्रामिंग परिदृश्यों की एक विस्तृत श्रृंखला में मदद मिलेगी।