Python map() फ़ंक्शन का उदाहरणों सहित उपयोग
⚡ स्मार्ट सारांश
Python map() फ़ंक्शन किसी सूची, टपल, सेट, शब्दकोश या स्ट्रिंग जैसे किसी भी इटरेबल के प्रत्येक आइटम पर दिए गए फ़ंक्शन को लागू करता है। यह एक लेज़ी मैप ऑब्जेक्ट लौटाता है जिसे आप list() फ़ंक्शन से परिवर्तित कर सकते हैं या लूप का उपयोग करके इटरेट कर सकते हैं।

वाक्य - विन्यास
map(function, iterator1,iterator2 ...iteratorN)
पैरामीटर्स
यहां दो महत्वपूर्ण मापदंड दिए गए हैं:
- समारोह: map() फ़ंक्शन को दिया जाने वाला एक अनिवार्य फ़ंक्शन, जिसे इटरेटर में उपलब्ध सभी आइटमों पर लागू किया जाएगा।
- पुनरावर्तक: एक अनिवार्य पुनरावर्ती ऑब्जेक्ट। यह एक सूची, एक टपल आदि हो सकता है। आप map() फ़ंक्शन को कई पुनरावर्ती ऑब्जेक्ट पास कर सकते हैं।
प्रतिलाभ की मात्रा
map() फ़ंक्शन इटरेटर के अंदर मौजूद सभी आइटमों पर दिए गए फ़ंक्शन को लागू करता है और एक इटरेबल मैप ऑब्जेक्ट लौटाता है, यानी एक टपल, एक सूची, आदि।
map() फ़ंक्शन कैसे काम करता है?
map() फ़ंक्शन दो इनपुट लेता है: एक फ़ंक्शन और एक इटरेबल ऑब्जेक्ट। map() को दिया गया फ़ंक्शन एक सामान्य फ़ंक्शन होता है, और यह इटरेबल ऑब्जेक्ट में मौजूद सभी मानों पर इटरेट करता है।
उदाहरण के लिए, मान लीजिए कि आपके पास संख्याओं की एक सूची है, और आप प्रत्येक संख्या का वर्ग ज्ञात करना चाहते हैं।
आउटपुट प्राप्त करने के लिए, हमें एक ऐसे फ़ंक्शन की आवश्यकता है जो दी गई संख्या का वर्ग लौटाए। फ़ंक्शन इस प्रकार है:
def square(n): return n*n
जिन वस्तुओं का वर्ग ज्ञात करना है, उनकी सूची इस प्रकार है:
my_list = [2,3,4,5,6,7,8,9]
अब आइए my_list में मौजूद प्रत्येक आइटम का वर्ग निकालने के लिए map() बिल्ट-इन फ़ंक्शन का उपयोग करें।
अंतिम कोड इस प्रकार है:
def square(n): return n*n my_list = [2,3,4,5,6,7,8,9] updated_list = map(square, my_list) print(updated_list) print(list(updated_list))
आउटपुट:
<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]
जैसा कि ऊपर देखा गया है, map() फ़ंक्शन का आउटपुट एक मैप ऑब्जेक्ट है जो स्क्रीन पर प्रदर्शित होता है। .
अंतिम आउटपुट प्राप्त करने के लिए आपको map() फ़ंक्शन के आउटपुट को for लूप या list() विधि का उपयोग करके दोहराना होगा। मैंने कोड में दी गई सूची के मानों को प्रदर्शित करने के लिए list() का उपयोग किया है।
इसलिए map() फ़ंक्शन का उपयोग करके, हम प्रत्येक संख्या का वर्ग प्राप्त कर सकते हैं। map() को दी गई सूची [2,3,4,5,6,7,8,9] थी, और square() फ़ंक्शन का उपयोग करके, हमें आउटपुट [4, 9, 16, 25, 36, 49, 64, 81] प्राप्त हुआ।
map() फ़ंक्शन सूची में मौजूद सभी आइटमों पर square() फ़ंक्शन लागू करता है। उदाहरण के लिए, यह my_list वेरिएबल लेता है और प्रत्येक संख्या के वर्ग से सूची को अपडेट करता है। आउटपुट updated_list वेरिएबल में संग्रहीत होता है।
map() का उपयोग करना Python अंतर्निहित कार्य
RSI Python map() फ़ंक्शन एक अंतर्निहित फ़ंक्शन है और इसका उपयोग अन्य उपलब्ध अंतर्निहित फ़ंक्शनों के साथ भी किया जा सकता है Pythonइस उदाहरण में, हम इसका उपयोग करने जा रहे हैं। Python round() एक अंतर्निर्मित फ़ंक्शन है जो दिए गए मानों को पूर्णांकित करता है।
उदाहरण:
मेरे पास जो सूची है वह है my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]। मुझे सूची में मौजूद प्रत्येक आइटम के लिए राउंडेड वैल्यू चाहिए, इसलिए हम map() फ़ंक्शन के लिए round() फ़ंक्शन का उपयोग करेंगे।
my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] updated_list = map(round, my_list) print(updated_list) print(list(updated_list))
आउटपुट:
<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]
round() फ़ंक्शन को सूची में मौजूद सभी आइटमों पर लागू किया जाता है, और यह एक ऐसी सूची लौटाता है जिसमें सभी मानों को राउंड किया गया होता है, जैसा कि आउटपुट में दिखाया गया है।
स्ट्रिंग को इटरेटर के रूप में लेकर map() का उपयोग करना
हम स्ट्रिंग पर map() का भी उपयोग कर सकते हैं। Pythonएक स्ट्रिंग एक ऐरे की तरह काम करती है, इसलिए हम इसे आसानी से map() के अंदर उपयोग कर सकते हैं।
इस उदाहरण में, हमारे पास myMapFunc() नामक एक फ़ंक्शन है जो दी गई स्ट्रिंग को अपरकेस में परिवर्तित करता है। myMapFunc() फ़ंक्शन को map() फ़ंक्शन में दिया जाता है। map() फ़ंक्शन myMapFunc() को स्ट्रिंग पास करके उसे अपरकेस में परिवर्तित कर देता है।
def myMapFunc(s): return s.upper() my_str = "welcome to guru99 tutorials!" updated_list = map(myMapFunc, my_str) print(updated_list) for i in updated_list: print(i, end="")
आउटपुट:
<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!
किसी सूची के साथ map() का उपयोग करना Numbers
map() फ़ंक्शन में सूची के साथ काम करने के लिए, हम संख्याओं की एक सूची लेंगे और सूची में प्रत्येक संख्या को 10 से गुणा करेंगे।
हम जिस सूची का उपयोग करने जा रहे हैं वह है [2,3,4,5,6,7,8,9]। myMapFunc() फ़ंक्शन दी गई संख्या को 10 से गुणा करता है। यह फ़ंक्शन map() फ़ंक्शन को सूची के साथ दिया जाता है।
उदाहरण:
def myMapFunc(n): return n*10 my_list = [2,3,4,5,6,7,8,9] updated_list = map(myMapFunc, my_list) print(updated_list) print(list(updated_list))
आउटपुट:
<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]
हमें जो परिणाम मिलता है, वह यह है कि सूची में मौजूद प्रत्येक संख्या को 10 से गुणा किया जाता है।
टपल के साथ map() का उपयोग करना
टपल एक ऑब्जेक्ट है Python इसमें आइटम अल्पविराम से अलग किए गए हैं और गोल कोष्ठकों में बंद हैं। इस उदाहरण में, हम स्ट्रिंग मानों वाला एक टपल लेंगे। हम जिस फ़ंक्शन का उपयोग करेंगे, वह दिए गए मानों को अपरकेस में परिवर्तित करेगा।
उदाहरण:
def myMapFunc(n): return n.upper() my_tuple = ('php','java','python','c++','c') updated_list = map(myMapFunc, my_tuple) print(updated_list) print(list(updated_list))
आउटपुट:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
हमें जो आउटपुट मिलता है वह एक टपल होता है जिसमें सभी मान अपरकेस में परिवर्तित होते हैं।
शब्दकोश के साथ map() का उपयोग करना
A शब्दकोश में Python डिक्शनरी को कर्ली ब्रैकेट ({}) का उपयोग करके बनाया जाता है। चूंकि डिक्शनरी एक इटरेटर है, इसलिए आप इसे map() फ़ंक्शन के अंदर उपयोग कर सकते हैं। आइए अब map() फ़ंक्शन के अंदर डिक्शनरी को इटरेटर के रूप में उपयोग करें।
निम्नलिखित उदाहरण map() फ़ंक्शन के अंदर डिक्शनरी इटरेटर की कार्यप्रणाली को दर्शाता है:
def myMapFunc(n): return n*10 my_dict = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_dict) print(finalitems) print(list(finalitems))
आउटपुट:
<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]
सेट के साथ map() का उपयोग करना
एक सेट में Python यह कर्ली ब्रैकेट ({}) में मौजूद आइटमों का एक अव्यवस्थित संग्रह है। चूंकि set() एक इटरेटर भी है, इसलिए आप इसे map() फ़ंक्शन के अंदर उपयोग कर सकते हैं।
यहां map() फ़ंक्शन के अंदर सेट को इटरेटर के रूप में उपयोग करने का एक कार्यशील उदाहरण दिया गया है:
def myMapFunc(n): return n*10 my_set = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_set) print(finalitems) print(list(finalitems))
आउटपुट:
<map object at 0x000000AC8F05DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]
लैम्ब्डा फ़ंक्शन के साथ map() का उपयोग करना
In Python, लैम्ब्डा एक्सप्रेशन का उपयोग अनाम फ़ंक्शन बनाने के लिए किया जाता है। आपको लैम्ब्डा कीवर्ड का उपयोग उसी तरह करना होगा जैसे आप सामान्य फ़ंक्शन को परिभाषित करने के लिए def का उपयोग करते हैं।
तो इस उदाहरण में, हम map() फ़ंक्शन के अंदर लैम्डा फ़ंक्शन का उपयोग करने जा रहे हैं। लैम्डा फ़ंक्शन सूची में मौजूद प्रत्येक मान को 10 से गुणा करेगा।
उदाहरण:
my_list = [2,3,4,5,6,7,8,9] updated_list = map(lambda x: x * 10, my_list) print(updated_list) print(list(updated_list))
आउटपुट:
<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]
map() फ़ंक्शन के अंदर एकाधिक इटरेटर का उपयोग करना
उदाहरण 1: map() फ़ंक्शन में दो सूची इटरेटर पास करना
आप map() फ़ंक्शन में एक ही समय में एक से अधिक इटरेटर, जैसे कि एक सूची, एक टपल, आदि भेज सकते हैं।
उदाहरण के लिए, यदि आप दो सूचियों को जोड़ना चाहते हैं, तो आप map() फ़ंक्शन का उपयोग करके ऐसा कर सकते हैं। हम यहाँ दो सूचियों, my_list1 और my_list2 का उपयोग करने जा रहे हैं।
नीचे दिए गए उदाहरण में, my_list1 का पहला आइटम my_list2 के पहले आइटम में जोड़ा जाता है। myMapFunc() फ़ंक्शन my_list1 और my_list2 के आइटम लेता है और दोनों का योग लौटाता है।
यहां map() फ़ंक्शन का उपयोग करके दी गई दो सूचियों को जोड़ने का एक कार्यशील उदाहरण दिया गया है।
def myMapFunc(list1, list2): return list1+list2 my_list1 = [2,3,4,5,6,7,8,9] my_list2 = [4,8,12,16,20,24,28] updated_list = map(myMapFunc, my_list1,my_list2) print(updated_list) print(list(updated_list))
आउटपुट:
<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]
उदाहरण 2: map() फ़ंक्शन में एक टपल और एक सूची इटरेटर पास करना
हम map() फ़ंक्शन में एक सूची और एक टपल इटरेटर का उपयोग करने जा रहे हैं। map() को दिया गया फ़ंक्शन, myMapFunc(), सूची और टपल से आइटम प्राप्त करेगा। आइटम को एक अंडरस्कोर (_) से जोड़ा जाएगा। इसका कार्यशील उदाहरण नीचे दिखाया गया है:
def myMapFunc(list1, tuple1): return list1+"_"+tuple1 my_list = ['a','b', 'b', 'd', 'e'] my_tuple = ('PHP','Java','Python','C++','C') updated_list = map(myMapFunc, my_list,my_tuple) print(updated_list) print(list(updated_list))
आउटपुट:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
