जब आप ऑपरेटर a
के बाईं ओर निर्दिष्ट =
करते हैं, तो आप पायथन के सामान्य असाइनमेंट का उपयोग कर रहे हैं , जो a
नए संदर्भ को इंगित करने के लिए वर्तमान संदर्भ में नाम बदलता है । यह पिछले मान को a
इंगित नहीं करता है जो इंगित कर रहा था।
ऑपरेटर a[0:2]
के बाईं ओर निर्दिष्ट करके =
, आप पायथन को बता रहे हैं कि आप स्लाइस असाइनमेंट का उपयोग करना चाहते हैं । स्लाइस असाइनमेंट सूचियों के लिए एक विशेष वाक्यविन्यास है, जहां आप सूची से सामग्री सम्मिलित, हटा सकते हैं या प्रतिस्थापित कर सकते हैं:
प्रविष्टि :
>>> a = [1, 2, 3]
>>> a[0:0] = [-3, -2, -1, 0]
>>> a
[-3, -2, -1, 0, 1, 2, 3]
विलोपन :
>>> a
[-3, -2, -1, 0, 1, 2, 3]
>>> a[2:4] = []
>>> a
[-3, -2, 1, 2, 3]
प्रतिस्थापन :
>>> a
[-3, -2, 1, 2, 3]
>>> a[:] = [1, 2, 3]
>>> a
[1, 2, 3]
ध्यान दें:
स्लाइस की लंबाई निर्धारित अनुक्रम की लंबाई से भिन्न हो सकती है, इस प्रकार लक्ष्य अनुक्रम की लंबाई को बदल सकता है, यदि लक्ष्य अनुक्रम इसकी अनुमति देता है। - स्रोत
स्लाइस असाइनमेंट, टपल अनपैकिंग के समान कार्य प्रदान करता है । उदाहरण के लिए, a[0:1] = [4, 5]
इसके बराबर है:
# Tuple Unpacking
a[0], a[1] = [4, 5]
टपल अनपैकिंग के साथ, आप गैर-अनुक्रमिक सूचियों को संशोधित कर सकते हैं:
>>> a
[4, 5, 3]
>>> a[-1], a[0] = [7, 3]
>>> a
[3, 5, 7]
हालाँकि, टपल अनपैकिंग प्रतिस्थापन तक सीमित है, क्योंकि आप तत्वों को सम्मिलित या हटा नहीं सकते हैं।
इन सभी ऑपरेशनों से पहले और बाद में, a
एक ही सटीक सूची है। पायथन बस एक सूची में जगह संशोधित करने के लिए अच्छा वाक्यविन्यास चीनी प्रदान करता है।