logo
24 EKİM 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ı
Atatürk’ün hazırlattığı hutbeler
Ticaret
Samsunspor'dan tarihi zafer
Dinamo Kiev'i 3 golle geçti
Tebrikler Fenerbahçe
Kadıköy'de Alman Stuttgart'ı devirdi
Bayrampaşa Belediye Başkan Vekilliği seçimi pazar günü
İstanbul Valiliği açıkladı
'Bedavaya çıkarıp bir de teşvik alıyorlar'
BTP'den maden ve Kıbrıs açıklaması
Merkez Bankasından faiz kararı
Yüzde 39,5'e çekildi
MSB Sözcüsü Aktürk, basın toplantısında konuştu
'SDG terör örgütünün Suriye ordusuna entegrasyonu kritik öneme sahiptir'
Özgür Özel sert çıkmıştı
Lütfü Savaş'tan Özel'e suç duyurusu
13 sanık yargılanıyor
Savcıyı tehdit edenler hakim karşısında
İstanbul Valiliğinden 7 maddelik genelge
'Hanutçuluk' yasaklandı
Bir anda yüzde 2'den fazla artış oldu
Petrol fiyatları yükseliyor
Çete operasyonu
42 kişi gözaltına alındı
İsrail basınının iddiası:
ABD, Netanyahu'dan Gazze'deki ateşkese 'şans vermesini' istedi
Rutte, Trump'la görüşmesi sonrası açıklama yaptı
"Putin, kararlı baskıyla ateşkese ikna edilebilir"
Vergi düzenlemeleri komisyonda kabul edildi
Vatandaşların vergi yükü artıyor
Atatürk’ün hazırlattığı hutbeler
Ticaret
Samsunspor'dan tarihi zafer
Dinamo Kiev'i 3 golle geçti
Tebrikler Fenerbahçe
Kadıköy'de Alman Stuttgart'ı devirdi
Bayrampaşa Belediye Başkan Vekilliği seçimi pazar günü
İstanbul Valiliği açıkladı
'Bedavaya çıkarıp bir de teşvik alıyorlar'
BTP'den maden ve Kıbrıs açıklaması
Merkez Bankasından faiz kararı
Yüzde 39,5'e çekildi
MSB Sözcüsü Aktürk, basın toplantısında konuştu
'SDG terör örgütünün Suriye ordusuna entegrasyonu kritik öneme sahiptir'
Özgür Özel sert çıkmıştı
Lütfü Savaş'tan Özel'e suç duyurusu
13 sanık yargılanıyor
Savcıyı tehdit edenler hakim karşısında
İstanbul Valiliğinden 7 maddelik genelge
'Hanutçuluk' yasaklandı
Bir anda yüzde 2'den fazla artış oldu
Petrol fiyatları yükseliyor
Çete operasyonu
42 kişi gözaltına alındı
İsrail basınının iddiası:
ABD, Netanyahu'dan Gazze'deki ateşkese 'şans vermesini' istedi
Rutte, Trump'la görüşmesi sonrası açıklama yaptı
"Putin, kararlı baskıyla ateşkese ikna edilebilir"
Vergi düzenlemeleri komisyonda kabul edildi
Vatandaşların vergi yükü artı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.