Python’da listeler, demetler (tuples) ve sözlükler (dictionaries), verileri organize etmek ve yönetmek için kullanılan en temel veri yapılarından bazılarıdır. Her biri farklı kullanım senaryolarına uygun özellikler sunar. Bu bölümde, bu veri yapılarını nasıl tanımlayacağınızı, kullanacağınızı ve işleteceğinizi öğreneceksiniz.
1. Listeler (Lists)
Liste: Python’da listeler, birden fazla öğeyi bir arada tutan sıralı veri yapılarıdır. Listeler, aynı türdeki veya farklı türdeki verileri içerebilir ve değiştirilebilir (mutable) özelliktedir, yani elemanları değiştirilebilir, eklenip çıkartılabilir.
a. Liste Tanımlama
Bir listeyi tanımlamak için köşeli parantezler []
kullanılır.
fruits = ["Elma", "Muz", "Çilek"]
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "Merhaba", 3.14, True]
b. Liste Elemanlarına Erişim
Liste elemanlarına sıfırdan başlayarak indeks numarasıyla erişilir.
print(fruits[0]) # "Elma"
print(numbers[2]) # 3
c. Listeye Eleman Ekleme
append()
metodu ile listenin sonuna eleman ekleyebilirsiniz.
fruits.append("Portakal")
print(fruits) # ["Elma", "Muz", "Çilek", "Portakal"]
d. Liste Elemanlarını Değiştirme
Belirli bir indeksteki elemanı değiştirebilirsiniz.
fruits[1] = "Kivi"
print(fruits) # ["Elma", "Kivi", "Çilek", "Portakal"]
e. Listeden Eleman Silme
remove()
metodu ile belirli bir elemanı silebilirsiniz.
fruits.remove("Kivi")
print(fruits) # ["Elma", "Çilek", "Portakal"]
pop()
metodu ile belirtilen indeksteki elemanı veya son elemanı silebilirsiniz.
fruits.pop() # "Portakal" silinir
print(fruits) # ["Elma", "Çilek"]
f. Liste Uzunluğunu Öğrenme
Bir listenin uzunluğunu (eleman sayısını) len()
fonksiyonu ile öğrenebilirsiniz.
print(len(fruits)) # 2
g. Liste Dilimleme (Slicing)
Liste üzerinde belirli bir aralıktaki elemanları almak için dilimleme yapılabilir.
subset = fruits[0:2] # ["Elma", "Çilek"]
h. Listeyi Ters Çevirme
reverse()
metodu ile bir listeyi tersine çevirebilirsiniz.
numbers = [1, 2, 3, 4, 5]
numbers.reverse()
print(numbers) # [5, 4, 3, 2, 1]
i. Listeyi Sıralama
sort()
metodu ile listeyi sıralayabilirsiniz.
numbers.sort()
print(numbers) # [1, 2, 3, 4, 5]
2. Demetler (Tuples)
Demet (Tuple): Demetler, listelere benzer ancak değiştirilemez (immutable) veri yapılarıdır. Elemanları bir kez tanımlandıktan sonra değiştirilemez. Bu, veri bütünlüğünün korunması gereken durumlarda demetleri ideal hale getirir.
a. Demet Tanımlama
Demetler, parantez ()
kullanılarak tanımlanır.
coordinates = (10, 20)
person = ("Ali", 25, "Mühendis")
b. Demet Elemanlarına Erişim
Demet elemanlarına, listelerde olduğu gibi indeks numarası ile erişilir.
print(coordinates[0]) # 10
c. Demet Elemanlarının Değiştirilemezliği
Demetlerde elemanlar değiştirilemez. Aşağıdaki gibi bir deneme hata verecektir:
coordinates[0] = 15 # Hata: TypeError
d. Tek Elemanlı Demet
Tek elemanlı bir demet tanımlarken elemandan sonra bir virgül ,
konulmalıdır.
single_item = (5,)
e. Demet Uzunluğunu Öğrenme
Demet uzunluğu len()
fonksiyonu ile öğrenilebilir.
print(len(coordinates)) # 2
f. Demet Dilimleme (Slicing)
Demetler de listeler gibi dilimlenebilir.
person_info = person[1:] # (25, "Mühendis")
g. Demet ile Liste Arasındaki Farklar
- Değiştirilebilirlik: Listeler değiştirilebilir (mutable), demetler değiştirilemez (immutable).
- Performans: Demetler, listelere göre daha hızlıdır ve daha az bellek kullanır.
3. Sözlükler (Dictionaries)
Sözlük (Dictionary): Sözlükler, anahtar-değer (key-value) çiftlerinden oluşan veri yapılarıdır. Anahtarlar benzersizdir ve her anahtar, belirli bir değeri işaret eder.
a. Sözlük Tanımlama
Sözlükler, süslü parantezler {}
ile tanımlanır. Anahtar ve değer çiftleri iki nokta üst üste :
ile ayrılır.
student = {"name": "Ayşe", "age": 22, "grade": "A"}
b. Sözlük Elemanlarına Erişim
Anahtarlar kullanılarak sözlük elemanlarına erişilebilir.
print(student["name"]) # "Ayşe"
print(student["age"]) # 22
c. Sözlüğe Eleman Ekleme veya Güncelleme
Anahtar kullanılarak sözlüğe yeni bir eleman eklenebilir veya mevcut bir eleman güncellenebilir.
student["school"] = "XYZ Üniversitesi" # Yeni eleman ekler
student["age"] = 23 # Mevcut elemanı günceller
d. Sözlükten Eleman Silme
del
anahtar kelimesi veya pop()
metodu ile bir eleman silinebilir.
del student["grade"] # "grade" anahtarlı elemanı siler
student.pop("age") # "age" anahtarlı elemanı siler
e. Sözlük Uzunluğunu Öğrenme
Bir sözlüğün uzunluğu (eleman sayısı) len()
fonksiyonu ile öğrenilebilir.
print(len(student)) # 2
f. Sözlükte Anahtarların Kontrolü
Belirli bir anahtarın sözlükte olup olmadığını kontrol etmek için in
operatörü kullanılabilir.
print("name" in student) # True
print("grade" in student) # False
g. Sözlük Elemanlarını Listeleme
keys()
, values()
ve items()
metotları, sözlükteki anahtarları, değerleri ve anahtar-değer çiftlerini listelemek için kullanılır.
print(student.keys()) # dict_keys(['name', 'school'])
print(student.values()) # dict_values(['Ayşe', 'XYZ Üniversitesi'])
print(student.items()) # dict_items([('name', 'Ayşe'), ('school', 'XYZ Üniversitesi')])
Listeler, demetler ve sözlükler, Python‘da verileri düzenlemek ve yönetmek için kullanılan temel veri yapılarıdır. Listeler esnek ve değiştirilebilirken, demetler daha hızlı ve sabittir. Sözlükler ise anahtar-değer çiftleriyle verileri ilişkilendirir. Bu veri yapılarının özelliklerini ve kullanımını anlamak, Python programlamada daha karmaşık veri manipülasyonları yapmanıza olanak tanır.
Bir yanıt yazın