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
-
Python Temelleri Genel Tekrar
14:39:24 - 13/12/2025 -
Python Performans İpuçları
14:38:59 - 13/12/2025 -
Python’da Temiz Kod Yazma
14:38:28 - 13/12/2025 -
Python Mini Proje: Sayı Tahmin Oyunu
14:37:58 - 13/12/2025 -
Python Mini Proje: Hesap Makinesi
14:37:31 - 13/12/2025