Map() और lambda functions
अभी तक, आपने lambda फंक्शनों का उपयोग छोटे, सरल फंक्शन लिखने और साधारण फंक्शनैलिटी वाले फंक्शनों को फिर से परिभाषित करने के लिए किया है। लेकिन lambda फंक्शनों का सबसे अच्छा उपयोग तब होता है जब आप ऐसी सरल फंक्शनैलिटी को गुमनाम रूप से किसी बड़े एक्सप्रेशन के अंदर शामिल करना चाहते हैं। इसका मतलब है कि यह फंक्शनैलिटी environment में स्टोर नहीं होती, जैसा कि def से परिभाषित फंक्शन में होता है। इसे बेहतर समझने के लिए, आप map() फंक्शन के संदर्भ में एक lambda फंक्शन का उपयोग करेंगे।
वीडियो से याद करें कि map() किसी ऑब्जेक्ट (जैसे लिस्ट) पर एक फंक्शन अप्लाई करता है। यहाँ, आप उस फंक्शन को परिभाषित करने के लिए lambda फंक्शन का उपयोग कर सकते हैं जिसे map() ऑब्जेक्ट प्रोसेस करने के लिए इस्तेमाल करेगा। उदाहरण के लिए:
nums = [2, 4, 6, 8, 10]
result = map(lambda a: a ** 2, nums)
यहाँ आप देख सकते हैं कि एक lambda फंक्शन, जो मान a को 2 की पावर पर उठाता है, map() को संख्याओं की लिस्ट nums के साथ पास किया गया है। map() कॉल से जो map ऑब्जेक्ट बनता है, वह result में स्टोर होता है। अब आप map() के साथ lambda फंक्शनों का अभ्यास करेंगे। इस अभ्यास में, आप पहले के अभ्यासों में परिभाषित add_bangs() फंक्शन की फंक्शनैलिटी को स्ट्रिंग्स की एक लिस्ट पर map करेंगे।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Functions का परिचय
अभ्यास निर्देश
map()कॉल में, ऐसा lambda फंक्शन पास करें जो स्ट्रिंगitemके साथ'!!!'जोड़ दे; साथ ही स्ट्रिंग्स की लिस्टspellsभी पास करें। बने हुए map ऑब्जेक्ट कोshout_spellsमें असाइन करें।shout_spellsको लिस्ट में कनवर्ट करें और उस लिस्ट को प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create a list of strings: spells
spells = ["protego", "accio", "expecto patronum", "legilimens"]
# Use map() to apply a lambda function over spells: shout_spells
____ = map(____, ____)
# Convert shout_spells to a list: shout_spells_list
____
# Print the result
print(shout_spells_list)