Python Listelerde İndeksleme

Python listelerinde indeksleme mantığını ve pozitif–negatif indeks kullanarak elemanlara erişimi öğrenin.

Python listelerinde indeksleme (indexing), listenin içindeki belirli bir elemana konumuna (sırasına) göre erişmemizi sağlayan temel bir mekanizmadır. Python'da listeler **sıralı (ordered)** koleksiyonlardır, yani elemanların belirli bir düzeni ve dolayısıyla belirli konumları vardır. İşte indeksleme mantığının detayları: --- ### 1. Pozitif İndeksleme (0-based Indexing) * **Başlangıç Noktası:** Python'da ve çoğu modern programlama dilinde indeksler **0'dan başlar**. Bu, listenin ilk elemanının indeksinin `0` olduğu anlamına gelir. * **İlerleme:** Her bir sonraki elemanın indeksi 1 artar. * İkinci eleman: `1` * Üçüncü eleman: `2` * ...ve bu şekilde devam eder. * **Son Eleman:** `N` elemanlı bir liste için son elemanın indeksi `N-1` olacaktır. **Sözdizimi:** `liste_adi[index]` **Örnek:** ```python meyveler = ['elma', 'armut', 'muz', 'kiraz', 'erik'] # İndeksler: 0 1 2 3 4 print(meyveler[0]) # Çıktı: elma (İlk eleman) print(meyveler[2]) # Çıktı: muz (Üçüncü eleman) print(meyveler[4]) # Çıktı: erik (Son eleman) ``` --- ### 2. Negatif İndeksleme * Python, listelerin sonundan başlayarak elemanlara erişmek için **negatif indeksleme** adı verilen kullanışlı bir özellik sunar. * **Başlangıç Noktası:** Listenin en son elemanının indeksi `-1`'dir. * **Geriye Doğru İlerleme:** Listede geriye doğru her bir adımda indeks 1 azalır. * Sondan ikinci eleman: `-2` * Sondan üçüncü eleman: `-3` * ...ve bu şekilde devam eder. * **İlk Eleman:** `N` elemanlı bir liste için ilk elemanın indeksi aynı zamanda `-N` olacaktır. **Sözdizimi:** `liste_adi[negatif_index]` **Örnek:** ```python meyveler = ['elma', 'armut', 'muz', 'kiraz', 'erik'] # İndeksler: -5 -4 -3 -2 -1 print(meyveler[-1]) # Çıktı: erik (Son eleman) print(meyveler[-2]) # Çıktı: kiraz (Sondan ikinci eleman) print(meyveler[-5]) # Çıktı: elma (İlk eleman) ``` --- ### 3. İndeks Dışı Hata (IndexError) * Eğer var olmayan bir indekse erişmeye çalışırsanız (yani listenin boyutları dışındaki bir indekse), Python bir `IndexError` hatası verir. * Pozitif indekslemede: `len(liste) - 1` değerinden büyük bir indeks kullanmak. * Negatif indekslemede: `-len(liste)` değerinden küçük bir indeks kullanmak. **Örnek:** ```python meyveler = ['elma', 'armut', 'muz'] # Uzunluk (len) = 3 # print(meyveler[3]) # IndexError: list index out of range (Çünkü son indeks 2) # print(meyveler[-4]) # IndexError: list index out of range (Çünkü ilk indeks -3) ``` --- ### 4. İndeksleme ile Eleman Değiştirme İndeksleme sadece elemanlara erişmek için değil, aynı zamanda belirli bir konumdaki elemanın değerini değiştirmek için de kullanılır. **Örnek:** ```python meyveler = ['elma', 'armut', 'muz', 'kiraz'] print("Önce:", meyveler) # Çıktı: Önce: ['elma', 'armut', 'muz', 'kiraz'] meyveler[1] = 'çilek' # İndeks 1'deki 'armut'u 'çilek' ile değiştir print("Sonra:", meyveler) # Çıktı: Sonra: ['elma', 'çilek', 'muz', 'kiraz'] meyveler[-1] = 'kavun' # En sondaki 'kiraz'ı 'kavun' ile değiştir print("Sonra (negatif):", meyveler) # Çıktı: Sonra (negatif): ['elma', 'çilek', 'muz', 'kavun'] ``` --- ### Özetle Indeksleme Mantığı: * **Sıralama Önemli:** Liste elemanlarının belirli bir sırası vardır. * **Konum Belirleme:** İndeksleme, bu konumları sayısal olarak belirlememizi sağlar. * **Çift Yönlü Erişim:** Hem baştan (0'dan başlayarak pozitif) hem de sondan (-1'den başlayarak negatif) erişim imkanı sunar. * **Hızlı Erişim:** Doğrudan bir bellek adresine benzer şekilde, istenen elemana çok hızlı bir şekilde ulaşmayı sağlar. Bu mantık, listelerle çalışırken elemanlara manipülasyon yapmak, belirli elemanları almak veya değiştirmek için temel bir yapı taşıdır.
Son Paylaşımlar
Kategoriler