Anasayfa / PYTHON / Python Listeler (Lists) ve Örnek Uygulamalar

Python Listeler (Lists) ve Örnek Uygulamalar

Python programlama diline adım attığınızda, verileri yalnızca tekil değişkenlerde değil, gruplar halinde de saklamanız gereken durumlarla sıkça karşılaşırsınız. Örneğin, bir sınıftaki öğrencilerin isimlerini, bir haftanın günlerini veya bir market alışveriş listesini tek tek değişkenlere atamak hem yorucu hem de yönetilmesi imkânsız bir yoldur. İşte tam bu noktada, Python’un en güçlü ve esnek veri yapılarından biri olan Listeler (Lists) devreye girer.

PYTHON LİSTELER EĞİTİM VİDEOMUZ İÇİN TIKLAYIN

Bu kapsamlı rehberimizde, ilk defa kodlama öğrenen birinin rahatlıkla anlayabileceği şekilde Python listelerinin ne olduğunu, nasıl tanımlandığını, liste metotlarını ve ileri seviye kullanım tekniklerini detaylı örneklerle pekiştirerek öğreneceğiz.


1. Python’da Liste Nedir ve Nasıl Tanımlanır?

Farklı verilerin sıralı bir dizi hâlinde tutulduğu, sonradan içeriği değiştirilebilir (mutable) koleksiyonlara Python’da liste adı verilir.

Listeler, köşeli parantezler [ ] kullanılarak oluşturulur ve içlerindeki elemanlar (ögeler) birbirlerinden virgül ile ayrılır. Liste veri tipinin en güzel ve esnek yanlarından biri, aynı liste içerisinde hem tam sayı (integer), hem ondalıklı sayı (float) hem de metin (string) barındırabilmesidir.

Örnek Liste Tanımlaması:

# İçinde farklı veri tipleri barındıran bir liste
ilk_liste = ["Ankara", 312, 0.6]
print(ilk_liste)

Programlamaya başlarken bazen içine daha sonra veri eklemek üzere içi boş bir listeye ihtiyaç duyabilirsiniz. Boş bir liste oluşturmak için liste = [] veya liste = list() yapıları kullanılabilir.


2. Liste Elemanlarına Erişim (İndeksleme)

Bir listeyi oluşturduktan sonra onun içindeki belirli bir veriye nasıl ulaşırız? Liste içindeki elemanlara erişmek için o elemanın bulunduğu sıra numarası yani indeksi kullanılır.

Burada dikkat edilmesi gereken en kritik kural şudur: Python’da saymaya her zaman 0’dan (sıfır) başlanır! Yani ilk elemanın indeksi her zaman 0 (sıfır) olarak kabul edilir.

Örnek:

sehirler = ["Ankara", "Bursa", "Çanakkale", "Denizli", "Eskişehir"]
print(sehirler) # Çıktı: Çanakkale

Yukarıdaki örnekte sehirler kodu bize 3. sıradaki eleman olan “Çanakkale” değerini vermiştir, çünkü indeksler 0: Ankara, 1: Bursa, 2: Çanakkale şeklinde ilerler.

Negatif İndeksleme: Python, listelere sondan başa doğru erişmemize de olanak tanır. Negatif indeksler kullanıldığında, -1 indeksi en sondaki elemanı gösterirken, -2 sondan bir önceki elemanı temsil eder. Bu özellik, listemizin uzunluğunu tam olarak bilmediğimiz durumlarda son elemanı hızlıca bulmak için harikadır.

print(sehirler[-1]) # Çıktı: Eskişehir


3. Listeleri Parçalama ve Dilimleme (Slicing)

Eğer listenin sadece belirli bir bölümünü (örneğin 2. ve 4. elemanlar arasını) almak istiyorsanız dilimleme (slicing) yöntemini kullanırsınız. İndekslerle birlikte iki nokta üst üste (:) operatörü kullanılarak istenilen eleman aralığına ulaşılabilir.

Genel kullanım yapısı: liste[başlangıç indeksi : bitiş indeksi] şeklindedir. (Bitiş indeksindeki elemanın dilimlemeye dâhil edilmediğini unutmayın).

Örnekler:

asal_sayilar =

# 1. indeksten başla, 4. indekse kadar al (4 dâhil değil)
print(asal_sayilar[1:4]) # Çıktı:

# 5. indeksten başla, listenin sonuna kadar git
print(asal_sayilar[5:])  # Çıktı:

# Başlangıçtan başla, 5. indekse kadar git
print(asal_sayilar[:5])  # Çıktı:

Ayrıca bu yapıya bir “adım miktarı” da ekleyebilirsiniz. Örneğin, liste[0:6:2] kodu, sıfırıncı indeksten başlayarak altıncı indekse kadar ikişer ikişer atlayarak elemanları getirir.


4. Liste Elemanlarını Değiştirmek

Listeler sonradan değiştirilebilir (mutable) veri tipleridir. Liste veri tipindeki bir elemanın indeksi kullanılarak o konuma yepyeni bir değer atanabilir.

ornek = ['Y', 'A', 'N', 'I', 'T']
ornek = 'K' # 0. indeksteki 'Y' harfini 'K' ile değiştirdik.
print(ornek) # Çıktı: ['K', 'A', 'N', 'I', 'T']


5. Temel Liste Fonksiyonları (Metotlar)

Python, listeler üzerinde ekleme, silme, sıralama gibi işlemleri kolayca yapabilmemiz için bize birçok yerleşik fonksiyon (metot) sunar.

A) Listeye Eleman Ekleme Fonksiyonları:

  • append(): Listenin en sonuna yeni bir eleman eklemek için kullanılır.
  • insert(): Listenin sonuna değil de, sizin belirlediğiniz özel bir konuma (indekse) eleman eklemek için kullanılır.
  • extend(): İki farklı listeyi birbiriyle birleştirmek (ikinci listeyi birincinin sonuna eklemek) için kullanılır.
donanim = ["yazıcı", "klavye", "işlemci"]
donanim.append("bellek") # Sona ekler
donanim.insert(1, "tarayıcı") # 1. indekse (araya) ekler

B) Listeden Eleman Silme Fonksiyonları:

  • remove(): Listenin içindeki değeri doğrudan verilerek o elemanı silmeyi sağlar (Örn: remove("klavye")).
  • pop(): Listede belirtilen konumdaki (indeksteki) elemanı siler; eğer parantez içine indeks belirtilmezse varsayılan olarak listenin en sonundaki elemanı siler.
  • clear(): Listenin tüm elemanlarını siler ve geriye tertemiz, boş bir liste bırakır.
  • del: İndeksi verilen elemanı veya listenin tamamını bilgisayar hafızasından silmek için kullanılır.

C) Bilgi Alma ve Sıralama Fonksiyonları:

  • len(): İngilizce “length” kelimesinden gelir. Listenin eleman sayısına (uzunluğuna) ulaşmak için kullanılır.
  • in Operatörü: Bir elemanın listede olup olmadığını kontrol eder. Eleman listede var ise True, yok ise False mantıksal çıktısını üretir.
  • sort(): Listenin içindeki elemanları küçükten büyüğe (veya alfabetik sıraya göre) sıralar.
  • reverse(): Listeyi matematiksel büyüklüğe bakmaksızın sondan başa doğru ters çevirip yazar.
  • count(): Listede belirttiğiniz elemandan tam olarak kaç adet bulunduğunu sayar.
  • index(): Aradığınız bir elemanın listedeki ilk konumunu (indeksini) bulmanızı sağlar.

6. Sayısal Listelerde Pratik Matematik

Eğer listeniz sadece sayılardan (integer veya float) oluşuyorsa, Python’un harika matematiksel kısayollarını kullanabilirsiniz. max() fonksiyonu listedeki en büyük elemanı, min() fonksiyonu listedeki en küçük elemanı döndürür. sum() fonksiyonu ise listedeki tüm sayıları toplayarak sonucu verir.

notlar =
print(max(notlar)) # Çıktı: 100
print(sum(notlar)) # Çıktı: 419


7. İleri Seviye: İç İçe Listeler (Nested Lists)

Listelerin içerisine sadece metin veya sayı değil, başka listeler de koyabilirsiniz. Bir listenin başka bir listeyi eleman olarak barındırdığı bu yapıya iç içe listeler (nested lists) adı verilir.

Bu özellik, satır ve sütunlardan oluşan iki boyutlu tablo verilerini (matrisleri) tutmak için harikadır.

meyveler = ["elma", "çilek", "armut"]
alisveris_listesi = ["süt", "peynir", meyveler]
print(alisveris_listesi)
# Çıktı: ['süt', 'peynir', ['elma', 'çilek', 'armut']]

İç içe listelerde verilere ulaşmak için birden fazla indeks kullanılır. Örneğin alisveris_listesi kodu bize önce 2. indeksteki listeyi bulur, sonra o listenin 0. indeksini okuyarak “elma” sonucunu verir.


8. Python’un Gizli Silahı: List Comprehension (Liste Üreteçleri)

Geleneksel programlamada, bir liste üzerinde işlem yapıp yeni bir liste yaratmak için alt alta “for” döngüleri yazmanız gerekir. Python’da ise List Comprehension (Liste Üreteçleri) sayesinde bu işlem son derece zarif ve tek bir satırda halledilir.

List comprehension, belirli bir desene veya kurala bağlı kalarak tek satırda yepyeni bir liste oluşturmaya yarayan kompakt bir Python ifadesidir.

Genel kullanım formatı şöyledir: [ifade for döngü_değişkeni in koleksiyon].

Örnek: 0’dan 9’a kadar olan sayıların karelerini alan bir liste oluşturalım:

kareler = [i * i for i in range(10)]
print(kareler) # Çıktı:

Bu yapıda i * i ifadesi, her bir i döngü elemanı için uygulanır ve anında yeni listeye eklenir.

Filtreleme Yapmak: List comprehension içerisine bir if koşulu ekleyerek verileri filtreleyebilirsiniz. Format: [ifade for döngü_değişkeni in koleksiyon if koşul] şeklindedir. Örneğin sadece negatif sayıları ayıklamak istersek: [m for m in my_list if m < 0] kodunu yazmamız yeterli olacaktır.

Sonuç: Bu rehberde, Python’da listelerin nasıl oluşturulduğunu, parçalandığını, iç içe geçirildiğini ve onlara çeşitli metotlarla nasıl hükmedebileceğinizi gördünüz. Değişkenlerin ötesine geçerek verileri gruplar halinde yönetmeyi öğrenmek, gerçek yazılım dünyasına atılan en sağlam adımdır. Şimdi kendi kod editörünüzü açıp listelerle pratik yapma ve bu yapının esnekliğini keşfetme zamanı!

Etiketlendi:

Cevap bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

DERSLER