मैं Python3 में map
का उपयोग करने का प्रयास कर रहा हूं। यहाँ कुछ कोड मैं का उपयोग कर रहा है:पायथन 3 में मानचित्र का गैर-आलसी मूल्यांकन संस्करण?
import csv
data = [
[1],
[2],
[3]
]
with open("output.csv", "w") as f:
writer = csv.writer(f)
map(writer.writerow, data)
हालांकि, बाद से python3 में map
पुनरावर्तक देता है, इस कोड को python3 में काम नहीं करता है (लेकिन map
के उस संस्करण के बाद से को Python2 में ठीक काम करता है हमेशा वापसी एक list
)
मेरा वर्तमान समाधान मूल्यांकन को मजबूर करने के लिए इटरेटर पर list
फ़ंक्शन कॉल जोड़ना है। लेकिन यह अजीब लगता है (मुझे रिटर्न वैल्यू की परवाह नहीं है, मुझे इटरेटर को सूची में क्यों परिवर्तित करना चाहिए?)
कोई बेहतर समाधान?
साइड इफेक्ट्स के लिए 'मैप' का उपयोग करना अजीब बात है। पायथन 2 'मानचित्र' भी वापसी मान एकत्र करता है। नया व्यवहार केवल इसे आगे बढ़ाता है। बस ऐसा मत करो, [लूप के लिए उपयोग करें] (http://stackoverflow.com/q/5753597/395760)। – delnan
@ डेलन लिंक के लिए धन्यवाद, वास्तव में मुझे साइड इफेक्ट के लिए 'मानचित्र' का उपयोग नहीं करना चाहिए। पाइथन 3 के लिए – yegle
, 'सूची (मानचित्र (लैम्ब्डा x: 2 * x, [1,2,3])) ' –