बस जब मैंने सोचा कि मैं समझ गया था कि कैसे अजगर सूचियों के काम ...प्रतिलिपि बनाई जा रही अजगर सूचियों
>>> a = [1,2,3]
>>> b = a[:]
>>> b
[1,2,3]
>>> b[1]=100
>>> b
[1,100,3]
>>> a
[1,2,3]
अब तक तो अच्छा। मैं बी की सामग्री के साथ शुरू कर रहा हूं, ताकि बी एक अलग वस्तु को इंगित कर सके। नतीजतन, बी में परिवर्तन ए को प्रभावित नहीं करते हैं।
अब इस दूसरे उदाहरण पर एक नज़र डालें:
>>> a = [[1,2,3],[4,5,6],[7,8,9]]
>>> b = a[:][:]
>>> b
[[1,2,3],[4,5,6],[7,8,9]]
>>> b[1][1] = 100
>>> b
[[1,2,3],[4,100,6],[7,8,9]]
>>> a
[[1,2,3],[4,100,6],[7,8,9]]
क्यों ख में परिवर्तन एक इस बार प्रभावित किया है? पिछले उदाहरण से अलग क्या है?
ध्यान दें कि कॉपी करने के लिए '[:]' का उपयोग करना थोड़ा सा गूढ़ है - आमतौर पर मुझे संदर्भ के आधार पर 'सूची() 'या' copy.copy() 'का उपयोग करने के लिए बहुत अच्छा लगता है। (बेशक, जैसा कि उत्तर में बताया गया है, 'copy.deepcopy() 'हो सकता है जो आप यहां चाहते हैं)। –