HOŞGELDİNİZ! BUGÜN 16 EYLÜL 2021, PERŞEMBE

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" : "[email protected]", "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"] "[email protected]" 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

 
Nahit Taşpınar / diğer yazıları

Yeni Mesaj arşivinde 'tarihte bugün'

Yeni Mesaj Gazetesi arşivi 2001 yılına kadar eksiksiz içerikle erişime açık olup ayrıca tüm arşivde anahtar kelimelerle arama yapmak da mümkündür.

21.02.2020, 21.02.2019, 21.02.2018, 21.02.2017, 21.02.2016, 21.02.2015, 21.02.2014, 21.02.2013, 21.02.2012, 21.02.2011, 21.02.2010, 21.02.2009, 21.02.2008, 21.02.2007, 21.02.2006, 21.02.2005, 21.02.2004, 21.02.2003, 21.02.2002


logo

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

Telefon: (212) 425 10 66
Faks: (212) 424 69 77
E-posta: [email protected] [email protected]


WhatsApp haber: (0542) 289 52 85


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

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.