logo
06 TEMMUZ 2025

Python 108 - Veri Yapıları Özet

21.02.2021 00:00:00
'Python 108 - Veri Yapıları Özet' seslendirme dosyası:

Python 108 - Veri Yapıları Özet

Merhabalar,

Programlamada bir çözüm geliştirirken alet çantamızı iyi tanımak önemli bir avantajdır. Bu noktada veri yapıları hayati bir önem taşır. Şu ana kadar tekil veri olarak tam ve ondalıklı sayıları, metin/yazı veri türünü, True/ False (bool) karar türünü; çoğul veri olarak da list eleri gördük. Bunların her birini bir değişkende tuttuk ve üzerlerinde işlemler yaptık.

Bugün listelere ek olarak tuple, dictionary ve set veri tiplerini kısaca özetleyeceğiz. Bir değişkenin türünün ne olduğunu sonradan kontrol etmek istersek type() fonksiyonunu kullanabiliriz. Mesela yas = 35 dedikten sonra type(yas) dersek sonucunu alırız. Aşağıda da örnekleri gelecek.

tuple veri yapısı

tuple (tüpıl okuyabiliriz) veri yapısı listelerle aynı desek yanlış olmaz. Tek farkları bir tuple'da hangi elemanlar olduğunu (ve sıralarını) bir kez tanımladıktan sonra ilerleyen kodda daha onları değiştiremiyoruz. Yani tuple'ları anti-değişken ya da sabit değişken gibi düşünebiliriz. Hatırlayın bir listeye eleman ekleyebiliyor, değerini değiştirebiliyor ve silebiliyorduk ama burada yapamıyoruz. Bozulmasını istemediğimiz verilerimiz için ideal bir sistem. Detayına ayrı bir yazıda gireceğiz ama şimdi hemen örnek bir tuple görelim:

  # tuple örnekleri
  devlet = ('cumhuriyet', 'nitelikleri', 'bölünmez bütünlük-dil-bayrak-marş-başkent', 'değiştirilemez' )
  merkez = ( 39.9405, 32.8457 )
  test = ( True, True, False )
  print(type(test))   # 

Python virgülle ayırdığımız değerlerden bir tuple oluşturacağını normal parantezlerden ( ) anlıyor. Aynnı elemanları köşeli parantezle [ ] tanımlasaydık yukarısı bir tuple değil liste olacaktı.

set veri yapısı

Listeler ve tuple'larda sıralama sözkonusu, artı bir listenin başındaki bir elemanın aynısından sonuna da ekleyebiliriz. Ya da bir tuple tanımlarken içinde aynı eleman birden fazla geçebilir. Ancak bazı senaryolarda sıra değil aidiyet, üye olup olmama ya da tekrarların olup olmaması durumları önemli olacaktır. Matematikteki küme kavramını hatırlayın. Kesişme, birleşme, fark işlemlerini hatırlayın. İşte tüm bunları da set verileriyle yapabiliyoruz. set leri de ileride detaylandıracağız ama yine bir örnekle neye benziyor görelim:

  # set örenekleri
  günler = { 'pt', 'sa', 'ça', 'pe', 'cu'}
  sayılar = { 1, 2, 3, 4, 5 }
  print(type(günler))   #   

Bu sefer virgülle ayırdığımız değerleri süslü paranteze { } alıyoruz ve Python bunları artık bir set olarak değerlendirecek.

dict veri yapısı

dictionary ler de (dikşınıry diye okuyabiliriz) çok kullanışlı başka bir veri yapısı. Farklı özellikleri derli toplu bir arada tutmak istediğimiz durumlar için kullanırız. Örnekle anlatalım:

  # dict örenekleri
  telefon = { 'ali' : 500500, 'ayşe' : 500600, 'can': 500700 }
  ogrenci = { "no" : 120, "ad" : "Ali", "soyad" : "Şen"}
  plaka = { "istanbul" : "34", "ankara" : "06" }
  kullanıcı = { "email" : "samet@xyz.com", "user" : "samet", "pass" : "123abc" }
  print(type(kullanıcı))   #     

Burada farkettiyseniz hep ikili bir yapı sözkonusu. telefon, öğrenci, plaka, kullanıcı gibi bir ana değişkene ait alt özelliklerin neler olduğu ve değeri şeklinde. Tüm bu özellik : değer çiftleri iki nokta üstüsteyle verilmeli ve çiftler arasında virgül olmalı. Hepsi set teki gibi süslü paranteze { } alınmalı. Python süslü parantez görünce ya set ya da dict kararı veriyor. Virgülle ayrılmış veride iki nokta varsa dict, yoksa set.

Yukarıdaki tanımlamalardan sonra telefon["ali"] bize 500500, ogrenci["no"] 120, plaka["istanbul"] "34", kullanıcı["email"] "samet@xyz.com" verecektir.

Tüm bu yapılarda merkez veri olarak ister int, ister float, ister str, ister bool değerler tutabildiğimize dikkat edin. Bir sonraki yazıda görüşmek dileklerimle…

Kaynakça

Yorumlar
Yorum bulunmuyor.
Yorumlarınızı paylaşın

--
 
Nahit Taşpınar / diğer yazıları
Kuzey Irak'tan acı haber
5 asker şehit
Neden sadece CHP'li belediye başkanları tutuklanıyor?
DMM'den 'sadece muhalefete operasyon' açıklaması
Demir Kubbe efsanesi çöktü
İran füzeleri, İsrail'in 5 askeri tesisini vurdu
'Yangınlar insan kaynaklı'
'Oran yüzde 97'ye kadar çıkıyor'
Masada ateşken sahada katalim
Gazze'de son 24 saatte 70 can kaybı
Savcı 'kuvvetli suç şüphesi' ile tutuklama istedi
Antalya Büyükşehir Belediye Başkanı Böcek tutuklandı
Özel'den sert tepki
'Sandık gelecek, hepiniz gideceksiniz'
Tunç'tan operasyon açıklaması
Gündem CHP'li belediyelere operasyon
"Bugün İslam dünyasının her bir noktası Kerbela"
BTP lideri Kerbela programına konuştu
Erdoğan'dan açılım süreci mesajı
'Süreç biraz daha hız kazanacaktır'
Mansur Yavaş'tan sert tepki
Hukuk siyasete göre eğilip bükülüyor
Parayla pulla işim yok
Zeydan Karalar, gözaltına alınmadan önce video paylaştı
Doktor maaşı 7900 Euro
Almanya Türkiye'de nitelikli eleman avında
Şirketler patır patır eleman çıkarıyor
Hazır giyim keyif vermiyor
Şara yönetimi kılını kıpırdatamıyor
İsrail ordusu Suriye'de cirit atıyor
Kuzey Irak'tan acı haber
5 asker şehit
Neden sadece CHP'li belediye başkanları tutuklanıyor?
DMM'den 'sadece muhalefete operasyon' açıklaması
Demir Kubbe efsanesi çöktü
İran füzeleri, İsrail'in 5 askeri tesisini vurdu
'Yangınlar insan kaynaklı'
'Oran yüzde 97'ye kadar çıkıyor'
Masada ateşken sahada katalim
Gazze'de son 24 saatte 70 can kaybı
Savcı 'kuvvetli suç şüphesi' ile tutuklama istedi
Antalya Büyükşehir Belediye Başkanı Böcek tutuklandı
Özel'den sert tepki
'Sandık gelecek, hepiniz gideceksiniz'
Tunç'tan operasyon açıklaması
Gündem CHP'li belediyelere operasyon
"Bugün İslam dünyasının her bir noktası Kerbela"
BTP lideri Kerbela programına konuştu
Erdoğan'dan açılım süreci mesajı
'Süreç biraz daha hız kazanacaktır'
Mansur Yavaş'tan sert tepki
Hukuk siyasete göre eğilip bükülüyor
Parayla pulla işim yok
Zeydan Karalar, gözaltına alınmadan önce video paylaştı
Doktor maaşı 7900 Euro
Almanya Türkiye'de nitelikli eleman avında
Şirketler patır patır eleman çıkarıyor
Hazır giyim keyif vermiyor
Şara yönetimi kılını kıpırdatamıyor
İsrail ordusu Suriye'de cirit atıyor
logo

Beşyol Mah. 502. Sok. No: 6/1
Küçükçekmece / İstanbul

Telefon: (212) 624 09 99
E-posta: internet@yenimesaj.com.tr gundogdu@yenimesaj.com.tr


WhatsApp iletişim: (542) 289 52 85


Tüm hakları Yeni Mesaj adına saklıdır: ©1996-2025

Yazılı izin alınmaksızın site içeriğinin fiziki veya elektronik ortamda kopyalanması, çoğaltılması, dağıtılması veya yeniden yayınlanması aksi belirtilmediği sürece yasal yükümlülük altına sokabilir. Daha fazla bilgi almak için telefon veya eposta ile irtibata geçilebilir. Yeni Mesaj Gazetesi'nde yer alan köşe yazıları sebebi ile ortaya çıkabilecek herhangi bir hukuksal, ekonomik, etik sorumluluk ilgili köşe yazarına ait olup Yeni Mesaj Gazetesi herhangi bir yükümlülük kabul etmez. Sözleşmesiz yazar, muhabir ve temsilcilere telif ödemesi yapılmaz.