python - copying a nested list, then updating values in only the new list -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 13 उत्तर

मेरे पास नेस्टेड सूची है, जो मैं की एक नई प्रतिलिपि बना रहा हूँ (आईडी अलग हैं) तब जब मैं नई सूची के अंदर एक सूची को अपडेट करने के लिए सूचकांकों का उपयोग करने की कोशिश करता हूं, तो यह दोनों पूर्व और पोस्ट कॉपी किए गए सूचियों में मूल्यों को अद्यतन करने के लिए समाप्त होता है।

मैंने कुछ अन्य समान प्रश्नों पर एक नज़र डालना

  numTrials = 2 abpositions = [[1, 1] Xrange (numTrials) में मैं के लिए 'ए पेज', [9, 9, 9, 9]], [1, 'बी 0 पेज', [9, 9, 9, 9]]] abpositionsRotated = सूची (abPositions) : AbpositionsRotated [i] [2] = [0,0,0,0] प्रिंट abPositions प्रिंट abPositionsRotated  

के रूप में मैं abpositions के भीतर 2 sublists अद्यतन, वही सूची abPositions में अद्यतन हो के रूप में अच्छी तरह से और मुझे यकीन है कि क्यों नहीं कर रहा हूँ जहां तक ​​मुझे पता है, वहाँ abpositions और abpositions के बीच कोई संबंध नहीं है, तो मैं समझ में नहीं क्यों एक में परिवर्तन अन्य को प्रभावित करता है

पायथन में नेस्टेड सूचियों के साथ पृथक करना उन लोगों के लिए थोड़ा मुश्किल हो सकता है जो इसके लिए उपयोग नहीं किए जाते हैं। आप क्या कर रहे हैं एक अलग सूची बना रहा है, लेकिन जहां प्रत्येक नेस्टेड सूची अलग (बाहरी) सूचियों में एक ही स्मृति में इंगित करती है यहां पर समाधान सरल है, हालांकि: कॉपी मॉड्यूल से गहरेकोपी का उपयोग करें: प्रतिलिपि आयात से गहरेकोपी abPositions = [[1, ' एपीपीएशन ', [9, 9, 9, 9]], [1 9, 9, 9]] [9, 9, 9, 9]]] abpositionsRotated = deepcopy (abPositions) # अब abpositions पर कोई भी ऑपरेशन।


Comments

Popular posts from this blog

sqlite3 - UPDATE a table from the SELECT of another one -

c# - Showing a SelectedItem's Property -

javascript - Render HTML after each iteration in loop -