AMP Analytics -->

Teknoloji Rehberi

27 Nisan 2025 Pazar

Python'da Veri Yapıları

 

Python'da Veri Yapıları: Detaylı Anlatım

Python'da temel veri yapıları listeler (lists), demetler (tuples), sözlükler (dictionaries), kümeler (sets) ve diğer özel veri yapılarıdır. İşte bu veri yapılarının detaylı açıklaması:

1. Listeler (Lists)

Listeler sıralı, değiştirilebilir (mutable) ve farklı veri tiplerini içerebilen koleksiyonlardır.


python
Copy
Download
my_list = [1, 2, 3, "Python", 3.14]

Liste Operasyonları:

  • Eklemeappend()insert()extend()

    python
    Copy
    Download
    my_list.append(4)           # Sonuna ekler
    my_list.insert(1, "new")    # Belirtilen indekse ekler
    my_list.extend([5, 6])      # Başka bir listeyi ekler
  • Silmeremove()pop()del

    python
    Copy
    Download
    my_list.remove("Python")    # Değere göre siler
    my_list.pop(2)              # İndekse göre siler ve döndürür
    del my_list[0]              # İndekse göre siler
  • Sıralamasort()reverse()sorted()

    python
    Copy
    Download
    numbers = [3, 1, 4, 2]
    numbers.sort()              # Sıralar (yerinde)
    sorted_numbers = sorted(numbers)  # Yeni sıralanmış liste döndürür
  • Dilimleme (Slicing):

    python
    Copy
    Download
    my_list = [0, 1, 2, 3, 4, 5]
    print(my_list[1:4])    # [1, 2, 3]
    print(my_list[::2])    # [0, 2, 4]
    print(my_list[::-1])   # [5, 4, 3, 2, 1, 0] (ters çevirme)

2. Demetler (Tuples)

Demetler sıralı, değiştirilemez (immutable) koleksiyonlardır.

python
Copy
Download
my_tuple = (1, 2, 3, "Python")

Tuple Özellikleri:

  • Değiştirilemez (immutable)

  • Daha hızlı erişim

  • Sözlük anahtarı olarak kullanılabilir

  • Paketleme (packing) ve açma (unpacking) özelliği:

    python
    Copy
    Download
    a, b, c, d = my_tuple  # Unpacking
    new_tuple = a, b, c     # Packing

3. Sözlükler (Dictionaries)

Anahtar-değer çiftlerinden oluşan, sırasız (Python 3.7+ sürümlerinde ekleme sırasını korur), değiştirilebilir koleksiyonlardır.

python
Copy
Download
my_dict = {"name": "Alice", "age": 25, "city": "New York"}

Sözlük Operasyonları:

  • Erişim:

    python
    Copy
    Download
    print(my_dict["name"])      # Alice
    print(my_dict.get("age"))   # 25
    print(my_dict.get("country", "USA"))  # Eğer yoksa varsayılan değer
  • Ekleme/Değiştirme:

    python
    Copy
    Download
    my_dict["email"] = "alice@example.com"  # Ekleme
    my_dict["age"] = 26                     # Güncelleme
  • Silme:

    python
    Copy
    Download
    del my_dict["city"]        # Silme
    age = my_dict.pop("age")   # Siler ve değeri döndürür
  • Yineleme:

    python
    Copy
    Download
    for key in my_dict:                   # Anahtarlar
    for value in my_dict.values():      # Değerler
    for key, value in my_dict.items():  # Anahtar-değer çiftleri

4. Kümeler (Sets)

Benzersiz elemanlardan oluşan, sırasız koleksiyonlardır.

python
Copy
Download
my_set = {1, 2, 3, 3, 4}  # {1, 2, 3, 4}

Küme Operasyonları:

  • Temel İşlemler:

    python
    Copy
    Download
    my_set.add(5)           # Eleman ekleme
    my_set.remove(3)        # Eleman silme (yoksa hata)
    my_set.discard(10)      # Eleman silme (yoksa hata vermez)
  • Küme İşlemleri:

    python
    Copy
    Download
    A = {1, 2, 3}
    B = {3, 4, 5}
    
    print(A | B)   # Birleşim: {1, 2, 3, 4, 5}
    print(A & B)   # Kesişim: {3}
    print(A - B)   # Fark: {1, 2}
    print(A ^ B)   # Simetrik fark: {1, 2, 4, 5}

5. Diğer Veri Yapıları

collections Modülü:

  • namedtuple: Alan adları olan tuple

    python
    Copy
    Download
    from collections import namedtuple
    Point = namedtuple('Point', ['x', 'y'])
    p = Point(11, y=22)
  • defaultdict: Varsayılan değerli sözlük

    python
    Copy
    Download
    from collections import defaultdict
    dd = defaultdict(int)  # Varsayılan 0
  • Counter: Eleman sayımı

    python
    Copy
    Download
    from collections import Counter
    cnt = Counter(['a', 'b', 'a', 'c'])
    print(cnt['a'])  # 2
  • deque: Çift uçlu kuyruk

    python
    Copy
    Download
    from collections import deque
    d = deque([1, 2, 3])
    d.appendleft(0)
    d.pop()

Veri Yapıları Karşılaştırması:

ÖzellikListTupleDictSet
SıralıEvetEvetHayırHayır
DeğiştirilebilirEvetHayırEvetEvet
Tekrarlı elemanEvetEvetHayırHayır
Anahtar erişimiHayırHayırEvetHayır

Bu veri yapılarını doğru şekilde kullanmak, Python'da verimli ve okunabilir kod yazmanın temelini oluşturur.


Hiç yorum yok:

Yorum Gönder

Popular Posts