मैंने पाया कुछ सवाल TypeError: 'tuple' object does not support item assignment
आदि के बारे में पूछ रहे हैं, लेकिन अभी भी, मैं इस बारे में उलझन में हूँ:पायथन ट्यूपल, क्या कोई इस व्यवहार को समझा सकता है?
>>> a = ([],[])
>>> a[0].append(1) # 1
>>> a
([1], [])
>>> a[0] += [2]
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
a[0] += [2]
TypeError: 'tuple' object does not support item assignment # 2
>>> a
([1, 2], []) # 3
>>>
मेरे सवाल कर रहे हैं:
- tuples हैं
कोड स्निपेट पर विचार करें अपरिवर्तनीय, लेकिन
1
सफलतापूर्वक अपना मूल्य बदल गया। क्यों? (मुझे पता है कि मैं वास्तव में पाइथन अपरिवर्तनीयता को समझ नहीं पा रहा हूं ..) - यदि
1
Accepte है डी,2
TypeError
बढ़ाने का कारण क्या है? 3
में,a
संशोधित हो गया है, तोTypeError
को बढ़ाने का क्या मतलब है?
आप
पहले के लिए, http://docs.python.org/3/reference/datamodel.html#objects-values-and-types देखें - मूल रूप से, "tuples अपरिवर्तनीय हैं" केवल इसका अर्थ है "आप जोड़ नहीं सकते हैं, हटा सकते हैं या एक tuple में वस्तुओं को प्रतिस्थापित करें, "नहीं" एक ट्यूपल में निहित वस्तुएं भी अपरिवर्तनीय हैं "। – delnan