निम्न उदाहरण मैप करने के लिए फ़ंक्शन कॉल के अंदर स्ट्रिंग फ़ंक्शन का उपयोग करने का प्रयास करते समय त्रुटि प्राप्त करता है। मुझे यह क्यों हो रहा है के साथ मदद चाहिए। धन्यवाद।मैप() के अंदर स्ट्रिंग फ़ंक्शंस का उपयोग क्यों नहीं कर सकता?
>>> s=["this is a string","python python python","split split split"]
>>> map(split,s)
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
map(split,s)
NameError: name 'split' is not defined
हालांकि split()
एक में निर्मित समारोह है, लेकिन यह अभी भी इस त्रुटि फेंकता है?
आह! मुझे यह मिला, 'विभाजन() 'ऑब्जेक्ट प्रकार से संबंधित एक विधि है (' स्ट्रिंग', 're' आदि के लिए अलग) और फ़ंक्शन में निर्मित नहीं है, इसलिए मुझे अस्पष्टता को हटाने के लिए ऑब्जेक्ट प्रकार निर्दिष्ट करने की आवश्यकता है। –
यह असंबद्ध नहीं है, बल्कि इसकी वजह है कि इसकी एक स्ट्रिंग विधि - 'blah'.split (' a ') '' str.split (' blah ',' a ')' के बराबर है, जैसा कि 'exampleofmyclass' .mymethod (arg) '' MyClass.mymethod (exampleofmyclass, arg) के बराबर है '- स्ट्रिंग' str.split' 'के लिए' self' तर्क है। – lvc
यह बदसूरत है। मैं विधि को विधि की तरह कॉल करना चाहता हूं, उदा। 'नक्शा (लैम्ब्डा एक्स: x.split(), एस)', या बेहतर, बस x [x.split() x में x के लिए जाएं ' –