में कार्यों की सूची तैयार मैं निम्नलिखित अजगर कोड है कि अनाम प्रक्रियाएं की एक सूची बनाता है:अजगर
basis = [ (lambda x: n*x) for n in [0, 1, 2] ]
print basis[0](1)
मैं इसे
basis = [ (lambda x: 0*x), (lambda x: 1*x), (lambda x: 2*x) ]
print basis[0](1)
के बराबर होने का हालांकि, इसकी अपेक्षा की होगी जबकि दूसरा स्निपेट 0 प्रिंट करता है जो मैं अपेक्षा करता हूं, पहला प्रिंट 2. कोड के पहले स्निपेट में क्या गड़बड़ है, और यह अपेक्षित व्यवहार क्यों नहीं करता है?
संबंधित सवाल: http://stackoverflow.com/q/139819/4279 – jfs