4- Veri Yapıları

Listeler, Demetler, Sözlükler ve Kümeler

1. Listeler

Listeler, sıralı ve değiştirilebilir veri koleksiyonlarıdır. Tek tip veya farklı tipteki verileri içerebilirler.

Liste Oluşturma:

python
fruits = ["apple", "banana", "cherry"]

Liste Elemanlarına Erişim:

python
print(fruits[0])  # apple
print(fruits[-1])  # cherry

Listeye Eleman Ekleme ve Çıkarma:

python
fruits.append("orange")  # Listeye yeni bir eleman ekler
fruits.remove("banana")  # Listeden bir elemanı çıkarır

2. Demetler (Tuples)

Demetler, sıralı ama değiştirilemez veri koleksiyonlarıdır.

Demet Oluşturma:

python
coordinates = (10, 20)

Demet Elemanlarına Erişim:

python
print(coordinates[0])  # 10

3. Sözlükler (Dictionaries)

Sözlükler, anahtar-değer çiftlerinden oluşan veri koleksiyonlarıdır. Anahtarlar benzersiz olmalıdır.

Sözlük Oluşturma:

python
person = {"name": "Alice", "age": 30}

Sözlük Elemanlarına Erişim:

python
print(person["name"])  # Alice

Sözlükte Eleman Ekleme ve Çıkarma:

python
person["email"] = "alice@example.com"  # Yeni bir anahtar-değer çifti ekler
del person["age"]  # Bir anahtar-değer çiftini çıkarır

4. Kümeler (Sets)

Kümeler, benzersiz ve sırasız veri koleksiyonlarıdır. Tekrar eden elemanları içermezler.

Küme Oluşturma:

python
unique_numbers = {1, 2, 3, 3}
print(unique_numbers)  # {1, 2, 3}

Küme Operasyonları:

  • Birleştirme: set1.union(set2)
  • Kesişim: set1.intersection(set2)
  • Fark: set1.difference(set2)
  • Alt Küme: set1.issubset(set2)

List Comprehension ve Diğer Veri Yapısı İşlemleri

1. List Comprehension

List comprehension, liste oluşturmayı daha kısa ve okunabilir bir hale getirir. Genellikle bir döngü ve isteğe bağlı bir koşul içerir.

Basit List Comprehension:

python
squares = [x**2 for x in range(10)]
print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Koşullu List Comprehension:

python
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares)  # [0, 4, 16, 36, 64]

2. Diğer Veri Yapısı İşlemleri

Liste İşlemleri:

  • sorted(list): Listeyi sıralar, yeni bir liste döner.
  • list.sort(): Listeyi sıralar, mevcut listeyi değiştirir.
  • list.reverse(): Listeyi tersine çevirir.

Demet İşlemleri:

  • tuple.count(value): Demetteki belirli bir değerin sayısını döner.
  • tuple.index(value): Demetteki belirli bir değerin indeksini döner.

Sözlük İşlemleri:

  • dict.keys(): Anahtarların bir listesini döner.
  • dict.values(): Değerlerin bir listesini döner.
  • dict.items(): Anahtar-değer çiftlerinin bir listesini döner.

Küme İşlemleri:

  • set.add(value): Küme içerisine yeni bir değer ekler.
  • set.remove(value): Kümeden belirli bir değeri çıkarır.
  • set.discard(value): Kümeden belirli bir değeri çıkarır, eğer değer mevcut değilse hata vermez.
  • set.pop(): Kümeden rasgele bir elemanı çıkarır.