पायथन में मैंने असाइनमेंट का उपयोग करने के साथ अपने इटरेटर की एक प्रति बनाने की कोशिश की, हालांकि यह इटेटरेटर की एक प्रतिलिपि बनाता है जो मूल इटरेटर के संदर्भ में है। उदाहरण के लिए:पायथन इटरेटर की एक प्रति कैसे बनाएं?
my_list = [5, 4, 3,2]
first_it = iter(my_list)
second_it = first_it
print next(first_it) #it will print 5
print next(second_it) #it will print 4
print next(first_it) #it will print 3
आप उदाहरण first_it में देख सकते हैं और second_it दोनों एक ही इटरेटर वस्तु का उल्लेख है। क्या यह इटरेटर ऑब्जेक्ट की एक प्रति बनाना संभव है जो मूल ऑब्जेक्ट का संदर्भ नहीं है?
नोट यह सवाल कैसे मान द्वारा इटरेटर ऑब्जेक्ट की प्रति बनाने के बारे में है। इसलिए समाधान की तरह for item in my_list:
का उल्लेख न करें।
अग्रिम धन्यवाद
मैंने 'copy.copy()' के साथ प्रयास किया और यह भी काम किया। शायद एक छिपी हुई पकड़ है? –
@ जीन-फ्रैंकोइसफैबर: यह जनरेटर के लिए काम नहीं करेगा। एक जनरेटर के साथ प्रयास करें जो 'सत्य के दौरान उपयोग करता है: उदाहरण के लिए random.random() 'उपज। –
से संबंधित: "आप जनरेटर नहीं चुन सकते हैं" शायद। –