- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Merhaba! Şimdiye kadar öğrendiğimiz int, str veya bool gibi temel veri türleri, tek bir değer saklayabilir. Peki ya birbiriyle ilişkili birden fazla değeri (örneğin bir alışveriş listesini, bir öğrenci listesini veya bir dizi skoru) tek bir değişken altında saklamak istersek?
İşte bu noktada Listeler (Lists) devreye girer. Liste, Python'ın en çok kullanılan veri yapısıdır; sıralı, değiştirilebilir (mutable) ve farklı veri türlerini bir arada tutabilen bir koleksiyondur.
Bu yazıda, listelerin nasıl tanımlandığını, listelere nasıl erişileceğini ve listeleri dinamik olarak nasıl değiştireceğimizi öğreneceğiz.
Listeler, öğelerin köşeli parantezler [] içine virgülle ayrılarak yazılmasıyla oluşturulur.
Sıralı (Ordered): Öğeler eklendikleri sırayı korur.
Değiştirilebilir (Mutable): Bir liste oluşturulduktan sonra öğeleri değiştirilebilir, eklenebilir veya silinebilir.
Farklı Tipler: Bir liste, aynı anda string, int, float ve hatta başka bir listeyi bile saklayabilir.
Örnek Tanımlama:
Listeler sıralı olduğu için, her öğeye index (dizin) numarası ile erişebiliriz. Index numaraları 0'dan başlar.
Pozitif Indexing: Listenin başından itibaren sayar (0, 1, 2, ...).
Negatif Indexing: Listenin sonundan itibaren sayar (-1, -2, -3, ...).
Listenin bir bölümünü (bir dilimini) almak için : operatörünü kullanırız. Bitiş indexi dahil değildir.
Kural: liste[başlangıç_indexi : bitiş_indexi : atlama_miktarı]
Listelerin değiştirilebilir (mutable) olması, üzerinde kolayca işlem yapmamızı sağlar.
Bir index'i kullanarak o konumdaki öğenin değerini değiştirebiliriz.
append(): Listenin sonuna tek bir öğe ekler.
insert(index, öğe): Belirtilen index konumuna öğe ekler.
extend(): Bir listeye başka bir yinelenebilir yapıyı (başka bir listeyi, tuple'ı vb.) ekler.
remove(değer): Listenin içindeki belirtilen değere sahip ilk öğeyi siler.
pop(index): Belirtilen index konumundaki öğeyi siler ve sildiği öğeyi geri döndürür. Index belirtilmezse son öğeyi siler.
del anahtar kelimesi: Belirtilen index konumundaki öğeyi siler veya listenin tamamını siler.
clear(): Listenin içindeki tüm öğeleri siler, ancak listeyi (boş bir liste olarak) bellekte tutar.
len(): Listenin içindeki öğe sayısını döndürür.
sort(reverse=False): Listeyi alfabetik veya sayısal olarak sıralar (orijinal listeyi değiştirir).
reverse=True parametresi kullanılarak büyükten küçüğe veya Z'den A'ya sıralama yapılabilir.
copy(): Listenin sığ bir kopyasını (shallow copy) oluşturur. Bu, orijinal listeden bağımsız yeni bir liste elde etmenizi sağlar.
reverse(): Listenin öğe sırasını tersine çevirir (orijinal listeyi değiştirir).
count(değer): Listede belirtilen değerin kaç kez geçtiğini sayar.
Listeler, değiştirilebilir (mutable) veri yapılarıdır ve üzerlerinde doğrudan işlem yapmayı sağlayan yerleşik metotlara sahiptir. Aşağıda, bir Python Listesi nesnesi üzerinde kullanabileceğiniz tüm temel yöntemler yer almaktadır:
append(öğe): Listenin en sonuna tek bir öğe ekler.
extend(yinelenebilir): Listenin sonuna başka bir yinelenebilir yapının (liste, tuple, küme vb.) tüm öğelerini tek tek ekler.
insert(index, öğe):
Listenin belirtilen index konumuna yeni bir öğe ekler.
remove(değer): Listenin içindeki belirtilen değere sahip olan ilk öğeyi bulur ve siler.
pop([index]):
Belirtilen index konumundaki öğeyi siler ve sildiği bu öğeyi geri döndürür. Eğer index belirtilmezse, listenin son öğesini siler ve döndürür.
clear(): Listenin içindeki tüm öğeleri siler, ancak listenin kendisini boş bir liste olarak korur.
index(değer, [başlangıç], [bitiş]): Listenin içinde belirtilen değerin ilk bulunduğu konumun (index numarasının) döndürür.
count(değer): Listenin içinde belirtilen değerin kaç kez tekrar ettiğini sayar ve döndürür.
sort(key=None, reverse=False):
Listeyi doğrudan yerinde (in-place) sıralar. reverse=True parametresi kullanılarak büyükten küçüğe sıralama yapılabilir.
reverse(): Listenin öğelerinin sırasını tersine çevirir (orijinal listeyi değiştirir).
copy(): Orijinal listenin sığ (shallow) bir kopyasını oluşturur ve bu yeni listeyi döndürür. Bu, orijinal listeden bağımsız bir kopya elde etmeyi sağlar.
Liste Kapsamları (List Comprehensions), bu yaygın görevi tek bir satırda, okunaklı ve hızlı bir şekilde yapmamızı sağlayan kısa bir söz dizimidir. Birçok Python profesyoneli, temiz kod yazmanın anahtarı olarak Liste Kapsamlarını görür.
Bu yazıda, geleneksel döngülerden nasıl Liste Kapsamlarına geçileceğini ve koşullu ifadelerle (if) bu yapının gücünü nasıl artıracağımızı öğreneceğiz.
Liste Kapsamı, yeni bir liste oluştururken döngü, koşul ve ifadeyi köşeli parantezler ([]) içine alarak birleştirir.
Bir listedeki her sayının karesini alıp yeni bir listeye eklemek için en az 4 satır kod gerekir:
Aynı işlemi tek bir satırda yapabiliriz:
Temel Söz Dizimi (Okuma Sırası):
Öğeyi al (sayi).
Bu öğe için döngü kur (for sayi in eski_sayilar).
Öğeye işlemi uygula (sayi ** 2).
if)Liste Kapsamları, öğeleri yeni listeye eklemeden önce filtrelemek için bir if koşulu eklemenize olanak tanır.
Kural: if koşulu, for döngüsünün hemen arkasına konulur.
Geleneksel olarak, önce kontrol etmemiz gerekirdi:
for sayi in sayilar:
if sayi % 2 == 0:
cift_sayilar.append(sayi)
# cift_sayilar: [2, 4, 6]
Liste Kapsamı ile Filtreleme:
if-else KullanımıBazen, her öğeye bir işlem uygulamak, ancak koşula bağlı olarak farklı bir işlem uygulamak isteriz. Bu durumda, if-else ifadesini kullanırız.
Kural: if-else yapısı, döngüden önce, yani ifadenin olduğu kısma taşınır.
# [DEĞER_1 if KOŞUL else DEĞER_2 for ÖĞE in KOLEKSİYON]
sonuc_liste = [
"Çift" if sayi % 2 == 0 else "Tek"
for sayi in sayilar
]
print(sonuc_liste)
# Çıktı: ['Tek', 'Çift', 'Tek', 'Çift']
Daha Okunabilir: Birçok Python geliştiricisi için, basit bir döngü ve ekleme işleminden daha anlaşılırdır.
Daha Kısa: Tek satırda karmaşık mantıklar kurulabilir.
Daha Hızlı: Teknik olarak, Python yorumlayıcısı Liste Kapsamlarını optimize edilmiş bir şekilde çalıştırır, bu da onları geleneksel döngülere göre biraz daha hızlı yapar.
Listeler, Python'daki dinamik ve esnek yapısıyla her seviyeden programcının en sık başvurduğu veri yapısıdır. Listelerin sıralı ve değiştirilebilir yapısını, copy(), sort() ve clear() gibi güçlü metotlarla kullanarak karmaşık veri setlerini kolayca yönetebilirsiniz.
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
Yorumlar
Yorum Gönder