एक सामान्य कार्य के लिए, map
अच्छी तरह से काम करता है:क्यों नक्शा (प्रिंट, a_list) काम नहीं करता है?
def increment(n):
return n+1
l = [1, 2, 3, 4, 5]
l = map(increment, l)
print l
>>> [2, 3, 4, 5, 6]
हालांकि, यह print
map
समारोह के अंदर डाल दिया जा रहा है कि अगर:
l = [1, 2, 3, 4, 5]
l = map(print, l)
print l
अजगर शिकायत:
l = map(print, l)
^
SyntaxError: invalid syntax
क्या है print
विशेष? print(x)
भी एक वैध फ़ंक्शन कॉल नहीं है? उपरोक्त कोड पायथन 2.7 के तहत परीक्षण किया जाता है।
यह उड़ा नहीं जाएगा, लेकिन इसकी संभावना है कि यह अपेक्षा के अनुसार काम नहीं करेगा। मुझे लगता है कि क्लेन वास्तव में सामान प्रिंट करना चाहते थे और '
मुझे यकीन नहीं है कि "यह उड़ा नहीं जाएगा" ... यदि आप पाइथन 2.x में 'मानचित्र (प्रिंट, [])' चलाने का प्रयास करते हैं, तो आपको यकीन नहीं है कि आपको 'सिंटेक्स त्रुटि: अमान्य वाक्यविन्यास' मिलेगा क्योंकि 'प्रिंट' 'एक बयान है। आपने इसे Python 3.x में आजमाया होगा, जहां 'print' एक फ़ंक्शन है और इसे 'map()' पर पास करने के लिए पूरी तरह से कानूनी है। पायथन 2.x 'मानचित्र()' में एक सूची लौटाती है, न कि '
मेरा मतलब था: हाँ, आप सही हैं, 'मैप (प्रिंट, [])' पाइथन 3 में उड़ नहीं जाएगा (अपवाद फेंक देगा) लेकिन हालांकि यह अपवाद नहीं फेंकता है, नतीजा शायद यह नहीं है कि क्लेवेन क्या चाहता था लेना। –