Python'da Liste Nedir?

Python listesi, farklı veri tiplerini bir arada tutabilen, sıralı ve değiştirilebilir bir veri yapısıdır. Listeler köşeli parantez [ ] ile tanımlanır ve elemanlar virgülle ayrılır. Listeler, Python'da sıkça kullanılır çünkü verileri düzenlemek ve manipüle etmek için birçok esneklik sunar.

Örnek Kod:

# Basit bir Python listesi
meyveler = ["elma", "muz", "çilek", "portakal"]
print(meyveler)
# Çıktı: ['elma', 'muz', 'çilek', 'portakal']

Yukarıdaki kod, meyveler adında bir liste oluşturur ve liste elemanlarını ekrana yazdırır. Bu örnekte, liste dört meyveden oluşmaktadır.

Liste Elemanlarına Erişim

Python'da liste elemanlarına indeks numaraları ile erişilir. İndeksleme sıfırdan başlar, yani ilk elemanın indeksi 0'dır.

Örnek Kod:

meyveler = ["elma", "muz", "çilek", "portakal"]

# İlk elemanı yazdırma
print(meyveler[0])  # Çıktı: elma

# Son elemanı yazdırma
print(meyveler[-1])  # Çıktı: portakal

Pozitif indeksler soldan sağa, negatif indeksler sağdan sola doğru elemanlara erişim sağlar.

Listelerde Eleman Güncelleme

Listelerde belirli bir indeksteki elemanın değeri değiştirilebilir. Bu, listeyi güncellemek için oldukça kullanışlıdır.

Örnek Kod:

meyveler = ["elma", "muz", "çilek", "portakal"]

# İkinci elemanı değiştirme
meyveler[1] = "kivi"
print(meyveler)  # Çıktı: ["elma", "kivi", "çilek", "portakal"]

Yukarıdaki örnekte meyveler listesinin ikinci elemanı kivi olarak değiştirilmiştir.

Listelere Eleman Ekleme

Python'da bir listeye eleman eklemek için append(), insert(), ve extend() metodları kullanılır.

append() Metodu:
Listeye sona eleman eklemek için kullanılır.

# Liste tanımı
meyveler = ["elma", "muz", "çilek"]

# Listeye eleman ekleme
meyveler.append("kiraz")
print(meyveler)
# Çıktı: ['elma', 'muz', 'çilek', 'kiraz']

"insert()" Metodu:
Belirtilen indeks numarasına eleman eklemek için kullanılır.

# Liste tanımı
meyveler = ["elma", "muz", "çilek"]

# İkinci sıraya "karpuz" ekleme
meyveler.insert(1, "karpuz")
print(meyveler)
# Çıktı: ['elma', 'karpuz', 'muz', 'çilek']

'extend()' Metodu:
Bir listeye başka bir listenin elemanlarını eklemek için kullanılır.

# Liste tanımı
meyveler = ["elma", "muz"]
yeni_meyveler = ["şeftali", "üzüm"]

# Birden fazla eleman ekleme
meyveler.extend(yeni_meyveler)
print(meyveler)
# Çıktı: ['elma', 'muz', 'şeftali', 'üzüm']

Listelerden Eleman Silme

Listelerden eleman silmek için remove(), pop(), ve clear() metodları kullanılır.

'remove()' Metodu:
Belirtilen değeri listeden siler.

# Liste tanımı
meyveler = ["elma", "muz", "çilek", "portakal"]

# "çilek" elemanını silme
meyveler.remove("çilek")
print(meyveler)
# Çıktı: ['elma', 'muz', 'portakal']

'pop()' Metodu:
Belirtilen indeks numarasındaki elemanı siler ve silinen elemanı döner. İndeks belirtilmezse son elemanı siler.

# Liste tanımı
meyveler = ["elma", "muz", "çilek"]

# Son elemanı silme
silinen = meyveler.pop()
print(silinen)  # Çıktı: çilek
print(meyveler)  # Çıktı: ['elma', 'muz']

'clear()' Metodu:
Listedeki tüm elemanları siler ve boş bir liste bırakır.

# Liste tanımı
meyveler = ["elma", "muz", "çilek"]

# Tüm elemanları silme
meyveler.clear()
print(meyveler)
# Çıktı: [ ]

Listelerde Döngüler

Listelerde döngü kullanarak her bir elemana erişebilir ve işlemler yapabilirsiniz.

Örnek Kod:

# Liste tanımı
meyveler = ["elma", "muz", "çilek", "portakal"]

# Tüm elemanları yazdırma
for meyve in meyveler:
    print(meyve)
# Çıktı:
# elma
# muz
# çilek
# portakal

Bu döngü, listedeki her bir elemanı sırasıyla ekrana yazdırır.

Listeleri Sıralama ve Ters Çevirme

Python'da listeleri sıralamak ve ters çevirmek için sort() ve reverse() metodları kullanılır.

'sort()' Metodu:
Listeyi küçükten büyüğe sıralar.

# Liste tanımı
sayilar = [5, 2, 9, 1, 5, 6]

# Sıralama
sayilar.sort()
print(sayilar)
# Çıktı: [1, 2, 5, 5, 6, 9]

reverse() Metodu:
Listedeki elemanların sırasını tersine çevirir.

# Liste tanımı
sayilar = [1, 2, 3, 4, 5]

# Tersine çevirme
sayilar.reverse()
print(sayilar)
# Çıktı: [5, 4, 3, 2, 1]

Listelerde Dilimleme (Slicing)

Dilimleme, listeden belirli bir aralığı almak için kullanılır. [başlangıç:bitiş] şeklinde yazılır.

Örnek Kod:

# Liste tanımı
sayilar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# İlk üç elemanı alma
ilk_uc = sayilar[0:3]
print(ilk_uc)
# Çıktı: [1, 2, 3]

# Son üç elemanı alma
son_uc = sayilar[-3:]
print(son_uc)
# Çıktı: [8, 9, 10]

Python'da listeler, içinde başka listeler barındırabilir. Bu şekilde çok boyutlu listeler oluşturulabilir.

Örnek Kod:

# 2 boyutlu liste
matris = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# İlk satırı yazdırma
print(matris[0])  # Çıktı: [1, 2, 3]

# İkinci satırın üçüncü elemanını yazdırma
print(matris[1][2])  # Çıktı: 6

Bu örnekte matris, üç satır ve üç sütundan oluşan bir matristir.

Listelerle Tüm Öğrendiklerimizi Kullanarak Bir Uygulama: Alışveriş Sepeti

Bu örnek uygulama, Python listeleriyle bir alışveriş sepeti sistemini simüle eder. Kullanıcılar, sepetlerine ürün ekleyebilir, çıkarabilir, mevcut ürünleri görüntüleyebilir ve sepetteki ürünleri sıralayabilir. Bu uygulama, listelerle ilgili temel ve ileri düzey bilgileri pekiştirmek için harika bir örnektir.

Uygulama Senaryosu:
1. Ürün listesine yeni ürünler ekleme.
2. Sepetten ürün çıkarma.
3. Sepetteki ürünleri görüntüleme.
4. Sepeti alfabetik sıraya göre sıralama.
5. Sepeti temizleme.
6. Toplam ürün sayısını ve ürünleri dilimleme.

Örnek Kod:

# Boş bir alışveriş sepeti listesi tanımlama
sepet = []

# Sepete ürün ekleme
def urun_ekle(urun):
    sepet.append(urun)
    print(f"{urun} sepete eklendi.")

# Sepetten ürün çıkarma
def urun_cikar(urun):
    if urun in sepet:
        sepet.remove(urun)
        print(f"{urun} sepetten çıkarıldı.")
    else:
        print(f"{urun} sepetinizde bulunmuyor.")

# Sepetteki ürünleri görüntüleme
def sepeti_goruntule():
    if sepet:
        print("Sepetinizdeki ürünler:")
        for urun in sepet:
            print(f"- {urun}")
    else:
        print("Sepetiniz boş.")

# Sepeti alfabetik olarak sıralama
def sepeti_sirala():
    sepet.sort()
    print("Sepetiniz alfabetik olarak sıralandı.")
    sepeti_goruntule()

# Sepeti temizleme
def sepeti_temizle():
    sepet.clear()
    print("Sepetiniz temizlendi.")

# Toplam ürün sayısını görüntüleme
def urun_sayisi():
    print(f"Sepetinizde {len(sepet)} ürün var.")

# Sepetteki ürünlerin bir kısmını dilimleme
def urunleri_dilimle(baslangic, bitis):
    dilim = sepet[baslangic:bitis]
    print(f"Sepetinizdeki {baslangic + 1}. ile {bitis}. ürünler:")
    for urun in dilim:
        print(f"- {urun}")

# Uygulamanın kullanımı
urun_ekle("elma")
urun_ekle("muz")
urun_ekle("çilek")
urun_ekle("portakal")

sepeti_goruntule()

urun_cikar("muz")
sepeti_goruntule()

urun_ekle("kivi")
urun_ekle("karpuz")

sepeti_sirala()
urun_sayisi()

# İlk iki ürünü dilimleme
urunleri_dilimle(0, 2)

sepeti_temizle()
sepeti_goruntule()

Kod Açıklaması:
1. Sepet Tanımlama: Boş bir sepet listesi tanımlanır ve ürünler bu listeye eklenir.
2. urun_ekle Fonksiyonu: Bu fonksiyon, verilen ürünü sepet listesine ekler ve eklenen ürünü kullanıcıya bildirir.
3. urun_cikar Fonksiyonu: remove() metodunu kullanarak, belirtilen ürünü sepet listesinden çıkarır. Ürün sepet içinde değilse, kullanıcıya bilgi verir.
4. sepeti_goruntule Fonksiyonu: for döngüsü kullanarak sepet listesindeki tüm ürünleri yazdırır.
5. sepeti_sirala Fonksiyonu: sort() metodunu kullanarak listeyi alfabetik olarak sıralar ve ardından sepeti_goruntule fonksiyonunu çağırarak sıralanmış listeyi gösterir.
6. sepeti_temizle Fonksiyonu: clear() metoduyla sepeti tamamen boşaltır.
7. urun_sayisi Fonksiyonu: len() fonksiyonunu kullanarak, sepetin içindeki toplam ürün sayısını ekrana yazdırır.
8. urunleri_dilimle Fonksiyonu: Verilen başlangıç ve bitiş indeksleri arasında dilimleme yaparak sepetin belirli bir aralığını kullanıcıya gösterir.
Uygulama Kullanımı: Bu bölümde, tanımlanan fonksiyonlar kullanılarak örnek bir alışveriş sepeti işlemi gerçekleştirilir.

Kapanış

Bu içerikte, Python listeleri hakkında detaylı bilgiler sunduk. Listelerin nasıl oluşturulacağını, elemanlara erişimi, güncellemeyi, ekleme ve silme işlemlerini, sıralama ve döngü kullanımını ayrıntılı bir şekilde inceledik. Ayrıca dilimleme ve çok boyutlu listelerle çalışmanın püf noktalarına değindik. Python listeleri, programlama süreçlerinde esneklik ve verimlilik sağlar, bu yüzden onları doğru kullanmak oldukça önemlidir. Umarız bu rehber, Python'da listelerle çalışırken size faydalı olmuştur ve konuyu daha iyi anlamanıza yardımcı olmuştur.