पायथन में, असाइनमेंट ऑपरेटर एक नई वस्तु नहीं बनाता है, बल्कि यह पहले से मौजूद वस्तु को दूसरा नाम देता है। इसे आईडी () फ़ंक्शन द्वारा सत्यापित किया जा सकता है
>>> L1 = [1,2,3,4] >>> L2 = L1 >>> id(L1) 185117137928 >>> id(L2) 185117137928
किसी सूची को वास्तव में कॉपी करने के लिए, निम्नलिखित विधियों का उपयोग किया जा सकता है।
स्लाइस ऑपरेटर:स्लाइस ऑपरेटर के दो ऑपरेंड स्लाइस के प्रारंभ और अंत के सूचकांक हैं। यदि स्पष्ट रूप से उपयोग नहीं किया जाता है, तो दोनों अनुक्रम के अंत को शुरू करने के लिए डिफ़ॉल्ट हैं। हम इस सुविधा का लाभ उठा सकते हैं
>>> L1 = [1,2,3,4] >>> L2 = L1[:] >>> L1 [1, 2, 3, 4] >>> L2 [1, 2, 3, 4] >>> id(L1) 185117025160 >>> id(L2) 185117171592
एक और तरीका है बिल्ट-इन लिस्ट () मेथड का इस्तेमाल करना
>>> L1 =[ 1,2,3,4] >>> L2 = list(L1) >>> L1 [1, 2, 3, 4] >>> L2 [1, 2, 3, 4] >>> id(L1) 185117295816 >>> id(L2) 185117209352
पायथन के मानक पुस्तकालय के कॉपी मॉड्यूल में वस्तुओं की उथली और गहरी प्रतिलिपि के लिए कार्य हैं। जबकि डीप कॉपी नेस्टेड कॉपी है, उथली कॉपी में, केवल संदर्भ द्वारा कॉपी की गई आंतरिक सूची।
>>> import copy >>> L1 = [1,2,3,4] >>> L2 = copy.copy(L1) >>> L1 [1, 2, 3, 4] >>> L2 [1, 2, 3, 4] >>> id(L1) 185117025160 >>> id(L2) 185117295880 >>> L3=copy.deepcopy(L1) >>> L3 [1, 2, 3, 4] >>> id(L3) 185117304328