2012-11-11 17 views
20

चलो कहते हैं कि मैं इन कार्य करते हैं:सूची + = टपल बनाम सूची = सूची + टपल

points = [] 
point = (1, 2) 

आ कैसे जब मैं ऐसा करते हैं:

points += point 

यह पूरी तरह से ठीक काम करता है, और मुझे अंक देता है = [1, 2]। हालांकि, मैं की तरह कुछ करते हैं:

points = points + point 

यह मुझे एक लेखन त्रुटि देता है: केवल जोड़ सकते हैं सूची (नहीं "टपल") सूची। क्या ये बयान एक ही बात नहीं हैं, यद्यपि?

उत्तर

20

अंतर यह है कि list +=list.extend() के समतुल्य है, जो किसी भी पुनरावृत्ति को लेता है और सूची को बढ़ाता है, यह एक ट्यूपल के रूप में काम करता है। (और जगह में सूची बढ़ाता है)।

दूसरी तरफ, दूसरा points पर एक नई सूची असाइन करता है, और एक सूची को एक टुपल में संयोजित करने का प्रयास करता है, जो ऐसा नहीं होता है क्योंकि यह स्पष्ट नहीं है कि अपेक्षित परिणाम क्या हैं (सूची या टुपल?)।