2013-01-13 15 views
6

में सूचियों को सम्मिलित करना मैं Dive into Python 3 पढ़ रहा हूं और सूचियों के अनुभाग में, लेखक कहता है कि आप "+" ऑपरेटर के साथ सूचियों को जोड़ सकते हैं या विस्तार() विधि को कॉल कर सकते हैं। क्या ऑपरेशन करने के लिए ये वही दो अलग-अलग तरीके हैं? किसी भी कारण से मुझे एक या दूसरे का उपयोग करना चाहिए?पायथन 3

>>> a_list = a_list + [2.0, 3] 
>>> a_list.extend([2.0, 3]) 
+2

ओवरराइड '+' ऑपरेटर परिणाम को दूसरी सूची में देता है, यह एक जगह के अतिरिक्त नहीं है। जबकि, विस्तार सूची में एक जगह में संशोधन है .. उपयोग मुख्य रूप से आपके तर्क पर होना चाहिए, और शायद आपकी सूची के आकार पर ... –

उत्तर

12

a_list.extend(b_list) जगह में a_list संशोधित करता है। a_list = a_list + b_list एक नई सूची बनाता है, फिर इसे a_list नाम पर सहेजता है। ध्यान दें कि a_list += b_list बिल्कुल extend संस्करण जैसा होना चाहिए। क्योंकि यह एक नई वस्तु बनाने की जरूरत नहीं है

extend या += का प्रयोग शायद थोड़ा तेज, है, लेकिन अगर वहाँ a_list के लिए एक और संदर्भ है चारों ओर, यह मूल्य भी बदल जाएगा (या वांछनीय नहीं हो सकता है हो सकता है) है।