Python'da listeler, farklı veri tiplerini bir arada tutabilen, sıralı ve değiştirilebilir (mutable) veri yapılarıdır. Köşeli parantezler [] ile oluşturulurlar ve elemanlar virgüllerle ayrılır.
Liste Oluşturma
# Boş liste
bos_liste = []
bos_liste = list()
# Elemanlı liste
sayilar = [1, 2, 3, 4, 5]
meyveler = ["elma", "armut", "çilek"]
karisik = [10, "Python", 3.14, True]Liste Elemanlarına Erişim
Listelerde indeksleme 0'dan başlar:
meyveler = ["elma", "armut", "çilek", "muz"]
print(meyveler[0]) # 'elma'
print(meyveler[2]) # 'çilek'
print(meyveler[-1]) # 'muz' (son eleman)
print(meyveler[-2]) # 'çilek' (sondan ikinci)Liste Dilimleme (Slicing)
sayilar = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(sayilar[2:5]) # [2, 3, 4] (2. indeksten 5. indekse kadar, 5 dahil değil)
print(sayilar[:4]) # [0, 1, 2, 3] (baştan 4. indekse kadar)
print(sayilar[6:]) # [6, 7, 8, 9] (6. indeksten sona kadar)
print(sayilar[::2]) # [0, 2, 4, 6, 8] (ikişer adımla)
print(sayilar[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] (ters çevirme)Liste Metodları
Eleman Ekleme
meyveler = ["elma", "armut"]
# append(): Sonuna eleman ekler
meyveler.append("çilek") # ["elma", "armut", "çilek"]
# insert(): Belirtilen indekse eleman ekler
meyveler.insert(1, "muz") # ["elma", "muz", "armut", "çilek"]
# extend(): Başka bir listeyi ekler
meyveler.extend(["kiraz", "şeftali"]) # ["elma", "muz", "armut", "çilek", "kiraz", "şeftali"]Eleman Silme
sayilar = [1, 2, 3, 4, 5, 6]
# remove(): Değere göre siler
sayilar.remove(3) # [1, 2, 4, 5, 6]
# pop(): İndekse göre siler (varsayılan son eleman)
sayilar.pop() # [1, 2, 4, 5]
sayilar.pop(1) # [1, 4, 5]
# del: İndekse göre siler
del sayilar[0] # [4, 5]
# clear(): Tüm elemanları siler
sayilar.clear() # []Diğer Yararlı Metodlar
sayilar = [5, 2, 8, 1, 9]
# index(): Elemanın indeksini verir
print(sayilar.index(8)) # 2
# count(): Elemanın kaç kez geçtiğini sayar
print(sayilar.count(5)) # 1
# sort(): Sıralama (küçükten büyüğe)
sayilar.sort() # [1, 2, 5, 8, 9]
sayilar.sort(reverse=True) # [9, 8, 5, 2, 1]
# reverse(): Ters çevirme
sayilar.reverse() # [1, 2, 5, 8, 9] -> [9, 8, 5, 2, 1]
# copy(): Listenin kopyasını oluşturur
yeni_liste = sayilar.copy()
# len(): Liste uzunluğu
print(len(sayilar)) # 5Liste Birleştirme
liste1 = [1, 2, 3]
liste2 = [4, 5, 6]
# + operatörü
birlesik = liste1 + liste2 # [1, 2, 3, 4, 5, 6]
# * operatörü (tekrarlama)
tekrar = liste1 * 3 # [1, 2, 3, 1, 2, 3, 1, 2, 3]Liste Üreteçleri (List Comprehensions)
Verimli liste oluşturma yöntemi:
# 0'dan 9'a kadar sayıların karesi
kareler = [x**2 for x in range(10)]
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# Koşullu liste üreteci
cift_sayilar = [x for x in range(20) if x % 2 == 0]
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]Çok Boyutlu Listeler (Matrisler)
matris = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print(matris[1][2]) # 6 (2. satır, 3. sütun)
# Matris oluşturma (liste üreteci ile)
matris = [[i*j for j in range(3)] for i in range(3)]
# [[0, 0, 0], [0, 1, 2], [0, 2, 4]]Liste ve Döngüler
meyveler = ["elma", "armut", "çilek"]
# for döngüsü
for meyve in meyveler:
print(meyve)
# enumerate ile indeks ve değer
for indeks, meyve in enumerate(meyveler):
print(f"{indeks}: {meyve}")Liste ve Fonksiyonlar
# map(): Her elemana fonksiyon uygular
sayilar = ["1", "2", "3"]
sayilar = list(map(int, sayilar)) # [1, 2, 3]
# filter(): Koşula uyan elemanları filtreler
sayilar = [1, 2, 3, 4, 5, 6]
ciftler = list(filter(lambda x: x % 2 == 0, sayilar)) # [2, 4, 6]
# zip(): İki listeyi eşleştirir
isimler = ["Ali", "Veli", "Ayşe"]
yaslar = [25, 30, 22]
for isim, yas in zip(isimler, yaslar):
print(f"{isim}: {yas} yaşında")Listeler Python'da en sık kullanılan veri yapılarından biridir ve bu özelliklerin bilinmesi verimli kod yazmayı kolaylaştırır.
Hiç yorum yok:
Yorum Gönder