DEV Community

Cover image for Python ile 5 Dakikada Veri Yapıları
Eydi
Eydi

Posted on • Updated on

Python ile 5 Dakikada Veri Yapıları

Bu bölümde orjinal dokümantasyonda veri yapıları olarak geçen;

  • Sıra Türleri(Sequence Types): list, tuple,
  • Eşleme Türü(Mapping Type): dict,
  • Küme Türü(Set Types): set

gibi en çok kullanılan yapıları değineceğiz.

Liste Yapısı - list

Python ile birden fazla aynı veya farklı tipte veriyi saklamaya ihtiyaç duyabiliriz. Buna list nesnesi sayesinde çözüm bulabiliyoruz.

  • Liste oluşturma
notlarim = [90,80,60,70]
# ikinci yol olarak
benimListem = list()
Enter fullscreen mode Exit fullscreen mode
  • Liste elemanlarına erişim

Diğer programlama dillerinde olduğu gibi oldukça basit. İndexler 0'dan başlar. Yani; notlarim[1] ile listenin 2. elemanına erişirsiniz.

notlarim[0] # birinci elemana erişim
notlarim[2] # üçüncü elemana erişim
Enter fullscreen mode Exit fullscreen mode
  • Liste içinde liste oluşturma
ilkListem = ["e", 12, 25, 4.2]
buyukListem = [85.5, "Ali uzaya git.", ilkListem]
Enter fullscreen mode Exit fullscreen mode

buyukListem içerisindeki ilkListem'in 12 değerine ulaşmak için:

buyukListem[2][1] # ile ulaşabiliriz.
Enter fullscreen mode Exit fullscreen mode
  • Birden fazla liste elemanına erişim

ornekListem[1:4] ile 2. eleman dahil 5. eleman hariç listelenir.
ornekListem[:2] ile aslında 0'dan 2. indise sahip elemana kadar listelenir. Aynı mantık ile 2. elemandan itibaren ornekListem[2:] kısayol ile geriye kalan tüm elemanları yazdırabiliriz.

Not: Liste eleman manipülasyonları için metod() kullanımları tavsiye edilmektedir. Yine de bilgi amaçlı diğer kullanımlarda gösterilecektir.

  • Liste elemanlarını değiştirme

Listedeki elemanları yukarıda gördüğümüz şekilde ve metodlarla değiştirebiliriz.

liste = ["Eydi", "Ali", "Veli", "Ayşe"]
liste[1] = "Ahmet" # 'Ali' ifadesini 'Ahmet' ile değiştirir.
# çoklu değişim
liste[0:3] = "Mert", "Berkay", "Fatih" # ile listenin ilk üç elemanı değişir.
Enter fullscreen mode Exit fullscreen mode
  • Listeye yeni eleman ekleme
liste = liste + "Gökhan" # mutlaka listeye eşitlemeliyiz!
Enter fullscreen mode Exit fullscreen mode
  • Listelerde silme işlemi
del liste # yazarsak tüm liste silinir.
del liste[1] # ile ilgili eleman silinir.
Enter fullscreen mode Exit fullscreen mode
  • Liste elemanlarını metodlarla manipüle etme

Listemizde kullanabileceğimiz metodları görmek için dir(liste) yazabilir veya ide kullanıyorsak Ctrl + Space tuşlarıyla erişebiliriz.

liste.append("Ömer") # listeye yeni eleman ekler.
liste.remove("Berkay") # listenin 'Berkay' elemanını kaldırır.
liste.insert(2,"Işıl") # listenin index'ine göre eleman ekler.
liste.pop(4) # liste de indexe göre eleman siler.
# son indexe göre eleman eklemen için.
liste.insert(len(liste),"Esma") # kullanılabilir.
Enter fullscreen mode Exit fullscreen mode
  • Diğer liste metodları
liste.count("Eydi") # listemizde kaç tane 'Eydi' elemanı olduğunu söyler.
yedekListe = liste.copy() # listeyi kopyalar.
liste.extend(["Eydi", "Esma", "Gülhan"]) # ile yeni listeyi ekler ve birleştirir.
liste.reverse() # listeyi tersine çevirir.
liste.sort() # listedeki elemanları küçükten büyüğe doğru sıralar.
liste.clear() # liste içindeki herşeyi siler.
Enter fullscreen mode Exit fullscreen mode

Demet Yapısı - tuple

Listeye bir çok yönüyle benzemektedir. Aralarındaki en büyük fark tuple'ların değiştirilemez olmasıdır. Yani; diğer programlama dillerindeki const ifadelerine benzetilebilir.

  • Tuple(Demet) oluşturma
benimTuple = 1,2,3,"Eydi",[10,20,30] # şeklinde veya
benimTuple2 = (1,2,3,"Eydi",[10,20,30]) # ile oluşturulabilir.

# klasik olarak nesne olduğu için
liste = [10,20,30,40,50]
benimTuple = tuple(liste) # ile de çoklu oluşturulabilir.

# tek olarak oluştururken virgülü unutmamalıyız!
benimDemet = (123,)
benimDemet = "Eydi", # iki ifade de geçerlidir.

empty = () # boş tuple oluşturmaktadır.
Enter fullscreen mode Exit fullscreen mode

Sözlük Yapısı - dict (dictionary)

Sözlüklerin liste ve tuple ile aralarındaki en önemli fark sırasız olmalıdır. İndis yerine anahtar kelime(key value) ile değerleri çağırırlar. { } parantez içerisinde oluştururlar.

  • Sözlük oluşturma
sozluk = {"dil":"python", "ders":"veri yapıları"}

# nesne oluşturma yöntemiyle
sozluk2 = dict(name="Eydi", age=29, country="Türkiye")
Enter fullscreen mode Exit fullscreen mode
  • Sözlük elemanlarına erişim
sozluk["dil"] # ile ekrana 'python' ifadesi yazdırılır.
sozluk2["name"] # ile ekrana 'Eydi' ifadesi yazdırılır.
Enter fullscreen mode Exit fullscreen mode
  • İç içe sözlük yapıları

Listelerde olduğu gibi iç içe sözlük veya sözlük içinde liste gibi yapılar oluşturulabilir.

ornekSozluk = {"anahtar":{"ikinciAnahtar":"değer", "ders":"sözlükler"},
"kayisiKenti": "Malatya", 44: "plakaKodu", "liste": [10,20,30,40,"kelime"]}
# üstteki örnekteki gibi oluşturulabilir.

# iç içe yapılarda yine dizilerdeki gibi
ornekSozluk["anahtar"]["ders"] # ekrana 'sözlükler' yazdirilabilir.
ornekSozluk["liste"][2] # 30 rakamına ulaşılır.

# anahtar değerler rakamlardan da oluşabilir.
ornekSozluk[44] # ifadesi ile 'plakaKodu' ekrana yazdırılır.
Enter fullscreen mode Exit fullscreen mode
  • Sözlük elemanları ekleme veya değiştirme
sozluk["name"] = "Esma" # ile mevcut eleman değerini değiştirir.
sozluk["ifade"] = "Yeni ekleme" # şeklinde sonuna eleman eklenir.

# çeşitli metodlar kullanılabilir.
sozluk.keys() # anahtar sözcükleri listeler.
sozluk.values() # değerleri listeler.
sozluk.items() # tüm itemleri listeler.
sozluk.pop() # verilen key değerine göre siler.
Enter fullscreen mode Exit fullscreen mode

Küme Yapısı - set

Aslında en temel özelliği her elemandan sadece bir tane bulundurmasıdır.

  • Set oluşturma
kume = set() # boş set oluşturulur.

# {} ile de tanımlanabilirler.
kume = {1,2,3,4}

#başka bir liste nesnesi aktarılabilir
liste = ["a", 10, 2.4, "Eydi"]
kume = set(liste)
Enter fullscreen mode Exit fullscreen mode

Not: Sözlükler ile oluşturulurken aralarındaki fark bir anahtar(key) değere sahip olmamasıdır. Yalnız; kume = {} şeklinde yazarsak python da ön tanımlı olarak boş sözlük oluşturulur.

  • Setlere eleman ekleme ve çıkarma
kume = set()
kume.add("Eydi") # ile eleman ekleriz.

kume.remove("Eydi") # ile eleman sileriz.

# remove eğer 'Eydi' ifadesini bulamazsa hata verir.
kume.discard("Eydi") # hata vermeden devam eder.
Enter fullscreen mode Exit fullscreen mode
  • Setlerde küme işlemleri
kume1 = set([1,4,7])
kume2 = set([1,3,7])

# ilk kümeden ikincisinin farkını alır
kume1.difference(kume2) # kume1 - kume2 olarak da ifade edilebilir.

# iki kümede de olmayan elemanları gösterir
kume1.symmetric_difference(kume2) # çıktı : {3,4}

# iki kümenin kesişimi
kume1.intersection(kume2) # kume1 & kume2 ilede ifade edilebilir.

# birleşim işlemi
kume1.union(kume2)
Enter fullscreen mode Exit fullscreen mode

Not: Set işlemleri arasında intersection_update() gibi metodlar görmektesiniz. Aslında bu ifade elde edilen değerlerin belirleyeceğiniz kümeye atanmasını sağlar.

#elde edilen değeri atamak için
kume1.intersection_update(kume2) # ile kesişim kümesi kume1 'e aktarılır.
Enter fullscreen mode Exit fullscreen mode

Top comments (0)