Kurs içeriği (5 / 7)
Python Temel Kurs · Ders 5 / 7
Listeler ve Temel Veri Yapıları
Birden fazla bilgiyi tek bir değişkende saklamak için listeleri kullanıyoruz: indeksleme, append(), remove(), len() ve listeler üzerinde döngü. Ardından demet (tuple) ve sözlük (dict) yapılarıyla kısaca tanışıyoruz.
Bu derste
- Liste oluşturur ve indeks numarasıyla elemanlara erişir.
- append(), remove() ve len() ile listeyi düzenler ve eleman sayısını bulur.
- for döngüsüyle bir listenin tüm elemanları üzerinde işlem yapar.
- Demet (tuple) ve sözlük (dict) yapılarını tanır ve basit örneklerde kullanır.
Malzemeler
- Bilgisayar
- Python 3 ve Thonny
- Çevrim içi Python editörü (alternatif)
Sınıftaki 30 öğrencinin notlarını saklamak için 30 ayrı değişken oluşturmak hiç pratik olmazdı. Bunun yerine hepsini tek bir kutuda, sıralı biçimde tutabiliriz. Bu derste Python’un en çok kullanılan veri yapısı olan listeleri öğrenecek, ardından demet ve sözlüklerle kısaca tanışacağız.
Dersin Amacı ve Kazanımlar
Bu dersin sonunda:
- Liste oluşturabilecek ve indeks numarasıyla elemanlara erişebileceksiniz.
append(),remove()velen()ile listeyi düzenleyebilecek ve eleman sayısını bulabileceksiniz.fordöngüsüyle bir listenin tüm elemanları üzerinde işlem yapabileceksiniz.- Demet (tuple) ve sözlük (dict) yapılarını tanıyıp basit örneklerde kullanabileceksiniz.
Gerekli Malzemeler
| Malzeme | Açıklama |
|---|---|
| Bilgisayar | Windows, macOS veya Linux yüklü herhangi bir bilgisayar |
| Python 3 ve Thonny | Bilgisayara kurulu Python 3 ve Thonny editörü (thonny.org) |
| Çevrim içi editör (alternatif) | Kurulum yapılamıyorsa tarayıcıda çalışan bir Python editörü (ör. Programiz, Trinket) |
Liste Nedir?
Liste, birden fazla değeri sıralı olarak saklayan bir yapıdır. Köşeli parantez [ ] içinde, elemanları virgülle ayırarak yazılır. Bir listede sayılar, metinler, hatta farklı türde değerler bir arada bulunabilir.
Listedeki her elemanın bir sıra numarası, yani indeksi vardır. Python’da sayma 0’dan başlar: İlk elemanın indeksi 0, ikincisinin 1’dir. Negatif indeksler sondan saymamızı sağlar: -1 son eleman, -2 sondan ikinci elemandır.
| Eleman | "elma" | "armut" | "çilek" | "muz" |
|---|---|---|---|---|
| İndeks | 0 | 1 | 2 | 3 |
| Negatif indeks | -4 | -3 | -2 | -1 |
Örnek 1: Listeyi Tanıyalım
# Liste oluşturma ve elemanlara erişme
meyveler = ["elma", "armut", "çilek", "muz"]
print(meyveler)
print(meyveler[0]) # ilk eleman
print(meyveler[2]) # üçüncü eleman
print(meyveler[-1]) # son eleman
print("Eleman sayısı:", len(meyveler))
Beklenen çıktı:
['elma', 'armut', 'çilek', 'muz']
elma
çilek
muz
Eleman sayısı: 4
Listeyi Düzenlemek
liste.append(deger): Listenin sonuna yeni bir eleman ekler.liste.remove(deger): Verilen değeri listeden çıkarır (aynı değerden birden fazla varsa ilkini).len(liste): Listedeki eleman sayısını verir.liste[indeks] = yeni_deger: Belirtilen sıradaki elemanı değiştirir.deger in liste: Değer listede varsaTrue, yoksaFalseverir.
Örnek 2: Ders Listesi
# Listeye ekleme, çıkarma ve değiştirme
dersler = ["Matematik", "Türkçe"]
dersler.append("Bilişim")
dersler.append("Fen Bilimleri")
print(dersler)
dersler.remove("Türkçe")
print(dersler)
dersler[0] = "Matematik (5 saat)"
print(dersler)
print("Ders sayısı:", len(dersler))
print("Bilişim listede mi?", "Bilişim" in dersler)
Beklenen çıktı:
['Matematik', 'Türkçe', 'Bilişim', 'Fen Bilimleri']
['Matematik', 'Bilişim', 'Fen Bilimleri']
['Matematik (5 saat)', 'Bilişim', 'Fen Bilimleri']
Ders sayısı: 3
Bilişim listede mi? True
Liste Üzerinde Döngü
Bir önceki derste for döngüsünü range() ile kullanmıştık. for döngüsü listelerle de çalışır: Her turda listenin sıradaki elemanını değişkene koyar. Böylece listenin uzunluğu ne olursa olsun tüm elemanları tek tek işleyebiliriz.
Örnek 3: Not Ortalaması
# Liste üzerinde döngü: not ortalaması
notlar = [85, 72, 90, 64, 78]
toplam = 0
for not_degeri in notlar:
print("Not:", not_degeri)
toplam = toplam + not_degeri
ortalama = toplam / len(notlar)
print("Ortalama:", ortalama)
print("En yüksek not:", max(notlar))
print("En düşük not:", min(notlar))
Beklenen çıktı:
Not: 85
Not: 72
Not: 90
Not: 64
Not: 78
Ortalama: 77.8
En yüksek not: 90
En düşük not: 64
Değişkene not yerine not_degeri adını verdiğimize dikkat edin. not, Python’da mantıksal operatör olarak kullanılan özel bir kelimedir ve değişken adı olamaz. max() ve min() fonksiyonları ise listedeki en büyük ve en küçük değeri bulur.
💡 İpucu
Boş bir listeyle başlayıp elemanları sonradan eklemek çok kullanışlıdır: isimler = [] yazın, sonra bir döngü içinde isimler.append(input("İsim: ")) ile kullanıcıdan gelen değerleri ekleyin. 7. dersteki mini projelerde bu yöntemi bolca kullanacağız.
Demet (tuple) ve Sözlük (dict)
Demet (tuple), listeye çok benzer ama normal parantez ( ) ile yazılır ve oluşturulduktan sonra değiştirilemez. Haftanın günleri ya da bir noktanın koordinatları gibi sabit kalması gereken bilgiler için uygundur.
Sözlük (dict) ise bilgileri sıra numarasıyla değil, anahtar ile saklar. Gerçek bir sözlükte kelimeye bakıp anlamını bulduğumuz gibi, Python sözlüğünde de anahtara bakıp değeri buluruz. Süslü parantez { } ile yazılır ve her eleman anahtar: deger biçimindedir.
Örnek 4: Demet ve Sözlük
# Demet (tuple): değiştirilemeyen liste
gunler = ("Pazartesi", "Salı", "Çarşamba")
print(gunler[1])
# Sözlük (dict): anahtar ve değer çiftleri
ogrenci = {"ad": "Mert", "sinif": 7, "okul_no": 154}
print(ogrenci["ad"])
ogrenci["sinif"] = 8 # değeri güncelle
ogrenci["kulup"] = "Robotik" # yeni anahtar ekle
print(ogrenci)
for anahtar in ogrenci:
print(anahtar, "->", ogrenci[anahtar])
Beklenen çıktı:
Salı
Mert
{'ad': 'Mert', 'sinif': 8, 'okul_no': 154, 'kulup': 'Robotik'}
ad -> Mert
sinif -> 8
okul_no -> 154
kulup -> Robotik
⚠️ Önemli Not
İndeksler 0’dan başladığı için 4 elemanlı bir listenin son indeksi 4 değil, 3’tür. meyveler[4] yazarsanız IndexError: list index out of range hatası alırsınız. Benzer şekilde, listede olmayan bir değeri remove() ile silmeye çalışmak ValueError, sözlükte olmayan bir anahtarı istemek de KeyError hatası verir. Emin değilseniz önce in ile kontrol edin: if "Türkçe" in dersler:
Sıra Sizde
- Kolay: En sevdiğiniz 5 filmden bir liste oluşturun. İlk ve son filmi, ardından listenin eleman sayısını ekrana yazdırın.
- Orta: Kullanıcıdan 5 arkadaşının adını isteyip boş bir listeye ekleyen, sonra adları numaralandırarak (1. Ali, 2. Ece …) yazdıran bir program yazın.
- Zor: Bir alışveriş listesini sözlük olarak tutun (ör.
{"ekmek": 2, "süt": 1}). Kullanıcıdan ürün adı ve adet alarak sözlüğe ekleyin; ürün zaten varsa adedini artırın. Sonunda tüm listeyi yazdırın.
Kendini Dene
sayilar = [10, 20, 30]isesayilar[1]değeri nedir?- Aynı listeye
sayilar.append(40)uygulandıktan sonralen(sayilar)kaç olur? - Demet (tuple) ile liste arasındaki temel fark nedir?
Cevaplar
20. İndeksler 0’dan başladığı için 1 numaralı indeks ikinci elemandır.4.- Liste değiştirilebilir; demet oluşturulduktan sonra değiştirilemez.