Python'da Bir Liste Nasıl Dilimlenir (Endeksler, Adımlar ve Ters Çevirme)

Güçlü parantez sözdizimini kullanarak Python'da listeleri nasıl dilimleyeceğinizi öğrenin. Ana başlangıç, durdurma ve adım argümanları, negatif indeksleme ve geri alma listeleri.

Bu Çözümü Editör'de deneyin

Genel Bakış

Dilimleme Python'un en sezgisel ve güçlü özelliklerinden biridir ve bir listenin, demetin veya dizenin alt kümelerini temiz ve özlü bir sözdizimi ile ayıklamanıza olanak tanır. Python'un dilim gösterimi, bir listeden belirli öğeleri kopyalamak için ayrıntılı döngüler yazmak yerine, köşeli parantez içindeki bir dizi indeksi belirtmenize olanak tanır.

Liste dilimlemenin tam sözdizimi "listem[başlangıç:durdur:adım]" şeklindedir. "Başlangıç" dizini kapsayıcıdır, "durdurma" dizini dışlayıcıdır ve "adım" öğeler arasındaki artışı tanımlar (varsayılan olarak 1'dir). 'Başlangıç'ı atlarsanız, Python varsayılan olarak listenin başlangıcına döner. 'Durdur'u atlarsanız, Python varsayılan olarak listenin sonuna gider. Bu, koleksiyonların bazı bölümlerinin çıkarılmasını son derece etkileyici hale getirir.

Dilimleme aynı zamanda son derece çok yönlüdür çünkü negatif endeksleri destekler. Negatif bir başlangıç ​​veya bitiş dizini listenin sonundan geriye doğru sayılır (burada '-1' son öğeyi temsil eder). 'Listem[::-1]' gibi negatif bir adım değeri ayarlayarak listenin ters çevrilmiş bir kopyasını hızlı bir şekilde alabilirsiniz. Temiz veri çıkarımı için dilim aralıklarını anlamak önemlidir.

Kod ve Yürütme Çıkışı

Bu komut dosyası, farklı başlatma, durdurma, adım aralıkları, negatif indeksleme ve listeyi tersine çevirme kullanılarak liste dilimlemeyi gösterir.

list_slicing.py
Editör'de deneyin
numbers = [0, 10, 20, 30, 40, 50, 60, 70, 80]

# 1. Basic slicing: elements from index 2 up to (but excluding) 6
subset = numbers[2:6]
print("Subset [2:6]:", subset)

# 2. Omitting indices: start to index 4, and index 5 to end
first_five = numbers[:5]
last_four = numbers[5:]
print("First five [:5]:", first_five)
print("Last four [5:]:", last_four)

# 3. Using a step parameter: get every second element
every_second = numbers[::2]
print("Every second [::2]:", every_second)

# 4. Negative indexing: get the last three elements
last_three = numbers[-3:]
print("Last three [-3:]:", last_three)

# 5. Reverse the list using step=-1
reversed_numbers = numbers[::-1]
print("Reversed list [::-1]:", reversed_numbers)
Terminal Çıkışı
Subset [2:6]: [20, 30, 40, 50]
First five [:5]: [0, 10, 20, 30, 40]
Last four [5:]: [50, 60, 70, 80]
Every second [::2]: [0, 20, 40, 60, 80]
Last three [-3:]: [60, 70, 80]
Reversed list [::-1]: [80, 70, 60, 50, 40, 30, 20, 10, 0]

Adım Adım Uygulama

  • Dizin başlangıcından bitiş noktasına kadar (buna dahil olmayan) öğeleri çıkarmak için list[start:stop] komutunu kullanın.
  • Listenin sınırından dilimlemek için başlangıç veya bitiş dizinlerini (örn. liste[:4] veya liste[4:]) çıkarın.
  • Öğeleri düzenli aralıklarla atlamak için parantez listesinin[::adım] içine üçüncü bir argüman iletin.
  • Öğeleri koleksiyonun sonundan geriye doğru saymak için negatif endeksleri kullanın.

Sıkça Sorulan Sorular

Dilimleme orijinal listeyi değiştirir mi?

Hayır, liste dilimleme istenen aralığın sığ bir kopyasını döndürür ve orijinal listeyi tamamen değiştirmeden bırakır.

Dilim endeksleri sınırların dışına çıkarsa ne olur?

IndexError'a neden olan tek bir dizine erişmenin aksine, dilimleme bağışlayıcıdır ve aralığı listenin sınırlarında sınırlandırır, aralığa hiçbir öğe girmezse boş bir liste döndürür.

İlgili Konular

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.