AMP Analytics -->

Teknoloji Rehberi

28 Nisan 2025 Pazartesi

Python'da Listeler

 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

python
Copy
Download
# 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:

python
Copy
Download
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)

python
Copy
Download
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

python
Copy
Download
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

python
Copy
Download
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

python
Copy
Download
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))  # 5

Liste Birleştirme

python
Copy
Download
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:

python
Copy
Download
# 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)

python
Copy
Download
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

python
Copy
Download
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

python
Copy
Download
# 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

Popular Posts