Belirttiğiniz zaman a
sol tarafındaki =
operatör, sen Python'un kullandığınız normal bir atama adını değiştirir, a
yeni değere noktasına geçerli bağlamda. Bu a
, işaret ettiği önceki değeri değiştirmez .
Operatörün a[0:2]
sol tarafında belirterek , =
Python'a Dilim Atamasını kullanmak istediğinizi söylüyorsunuz . Dilim Atama, bir listeden içerik ekleyebileceğiniz, silebileceğiniz veya değiştirebileceğiniz listeler için özel bir sözdizimidir:
Yerleştirme :
>>> a = [1, 2, 3]
>>> a[0:0] = [-3, -2, -1, 0]
>>> a
[-3, -2, -1, 0, 1, 2, 3]
Silme :
>>> a
[-3, -2, -1, 0, 1, 2, 3]
>>> a[2:4] = []
>>> a
[-3, -2, 1, 2, 3]
Değiştirme :
>>> a
[-3, -2, 1, 2, 3]
>>> a[:] = [1, 2, 3]
>>> a
[1, 2, 3]
Not:
Dilimin uzunluğu, atanan dizinin uzunluğundan farklı olabilir, dolayısıyla hedef dizi izin veriyorsa hedef dizinin uzunluğunu değiştirebilir. - kaynak
Dilim Atama, Tuple Unpacking'e benzer bir işlev sağlar . Örneğin a[0:1] = [4, 5]
, şuna eşdeğerdir:
a[0], a[1] = [4, 5]
Tuple Unpacking ile sıralı olmayan listeleri değiştirebilirsiniz:
>>> a
[4, 5, 3]
>>> a[-1], a[0] = [7, 3]
>>> a
[3, 5, 7]
Bununla birlikte, öğeleri ekleyemeyeceğiniz veya çıkaramayacağınız için paket açma, değiştirme ile sınırlıdır.
Tüm bu işlemlerden önce ve sonra a
aynı liste. Python, bir listeyi yerinde değiştirmek için güzel sözdizimsel şeker sağlar.