logo
01 HAZİRAN 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ı
İstanbul'un enflasyonu açıklandı
Enflasyon Mayıs ayında yüzde 46,57 oldu
Bingöl'de deprem
4,4 büyüklüğündeki deprem paniğe neden oldu
Antalya'da 174 turistik tesis mühürlenecek
Ruhsatları askıya alınmıştı
En düşük emekli maaşı ne kadar olacak?
Uzmanı rakamı açıkladı
İşte suç ve yeni cezaları
10. Yargı Paketi komisyondan geçti
PSG, Şampiyonlar Ligi şampiyonu oldu
Paris sokakları savaş alanına döndü
İsrail-ABD güdümlü yardımlar ölüm tuzağına dönüştü
En az 30 Müslüman öldü, 115 Müslüman yaralandı
Suriye yönetimine mali destek
Memur maaşlarını o iki devlet ödeyecek
Gezi Parkı olaylarının yıldönümü
Taksim demir ağlarla örüldü
PSG tarihindeki ilki tarihi bir skorla kazandı
PSG, Şampiyonlar Ligi şampiyonu
ABD'nin ateşkes önerisine Hamas: ‘10 esir serbest bırakılacak’
ABD: ‘Hamas’ın yanıtı kesinlikle kabul edilemez’
Fenerbahçe, sezonu galibiyetle kapattı
Maç istifa sesleriyle başladı
Marmaray'da çocuklarının yanında darbetmişti
Tutuklandı
İsrailliler Batı Şeria'da kaçak yerleşim kurmaya çalışıyor
Filistinlilere ait bir evin kalıntıları üzerine...
Erdoğan'ın hedefinde CHP var
'Bu ülkenin tarihini 100 yılla sınırlandırdı'
İstanbul'un enflasyonu açıklandı
Enflasyon Mayıs ayında yüzde 46,57 oldu
Bingöl'de deprem
4,4 büyüklüğündeki deprem paniğe neden oldu
Antalya'da 174 turistik tesis mühürlenecek
Ruhsatları askıya alınmıştı
En düşük emekli maaşı ne kadar olacak?
Uzmanı rakamı açıkladı
İşte suç ve yeni cezaları
10. Yargı Paketi komisyondan geçti
PSG, Şampiyonlar Ligi şampiyonu oldu
Paris sokakları savaş alanına döndü
İsrail-ABD güdümlü yardımlar ölüm tuzağına dönüştü
En az 30 Müslüman öldü, 115 Müslüman yaralandı
Suriye yönetimine mali destek
Memur maaşlarını o iki devlet ödeyecek
Gezi Parkı olaylarının yıldönümü
Taksim demir ağlarla örüldü
PSG tarihindeki ilki tarihi bir skorla kazandı
PSG, Şampiyonlar Ligi şampiyonu
ABD'nin ateşkes önerisine Hamas: ‘10 esir serbest bırakılacak’
ABD: ‘Hamas’ın yanıtı kesinlikle kabul edilemez’
Fenerbahçe, sezonu galibiyetle kapattı
Maç istifa sesleriyle başladı
Marmaray'da çocuklarının yanında darbetmişti
Tutuklandı
İsrailliler Batı Şeria'da kaçak yerleşim kurmaya çalışıyor
Filistinlilere ait bir evin kalıntıları üzerine...
Erdoğan'ın hedefinde CHP var
'Bu ülkenin tarihini 100 yılla sınırlandırdı'
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.