Dark Light

Bugün işleyeceğimiz dersimizde pythonda kaldığımız yerden devam ediyoruz geçen dersimizde python listeleri ve nasıl kullanılacaklarını işlemiştik. Bu dersimizde de python demetler ( tuple ) nasıl oluşturulur ve temel metotları nelerdir konularını öğreneceğiz.  Ayrıca bunu yanında python sözlükler ( dictionary ) nedir ve nasıl oluşturulur konusunada göz atacağız.

Python Demetler ( Tuples ) Nedir ?

Python Demetler ya da İngilizce isimleriyle tuplelar listelerle oldukça benzer yönler taşırlar ancak demetlerin listelerden farkları demetlerin değiştirilemez oluşudur. Bu yüzden programlarımızda değiştirilmesini istemediğimiz sabit kalmasını istediğimiz verilerin değerleri bir demet içinde depolayabiliriz. İsterseniz konumuza demetlerin oluşturulmasıyla başlayalım.

Demet Oluşturma

# Demet elemanlarını parantez içine alınarak demet oluşturulabilir.
Input  : demet = (1,2,3,4,5,6,7,8,9)
Input  : demet
Output : (1, 2, 3, 4, 5, 6, 7, 8, 9)

# type() fonksiyonu yardımıyla türünü öğrenelim.
Input  : type(demet)
Output : tuple


# Tek elemanlı demet bu şekilde tanımlanabilir.
Input  : demet = (1,)
Input  : demet
Output : (1,)

Input  : type(demet)
Output : tuple

# 0. indekse  ulaşma
Input  : demet = (1,2,3,4,5,6,7)
Input  : demet[0]
Output : 1

# 4. indekse ulaşma
Input  : demet[4]
Output : 5

Input  : demet[-1]
Output : 7

Input  : demet[2:]
Output : (3, 4, 5, 6, 7)

Demetlerin Temel Metotları

index metoduyla birlikte içerisine verdiğimiz elemanın hangi indekste olduğunu bulabiliriz.

# Demeti oluşturalım.
Input  : demet = (1,2,3,"Savaşan","Adam")
# "Savaşan" elemanının indeksini buluyoruz.
Input  : demet.index("Savaşan")
Output : 3

demet.index(1)
Output : 0

#count metoduyla içine verdiğimiz değerin demette kaç defa geçtiğini bulabiliriz.
Input  : demet = (1,23,34,34,2,1,4,5,1,1,34)
Input  : demet.count(1)
Output : 4

Input  : demet.count(34)
Output : 3

Değiştirilmeme Özelliği

Demetlerin değiştirilemez olduğunu artık biliyoruz. İsterseniz bir deneme yapalım.

# Demet oluşturalım.

Input  : demet = ("Elma","Armut","Muz")
Input  : demet[0] = "Kiraz"
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-19-b5e8086e73d6> in <module>()
      2 
      3 demet = ("Elma","Armut","Muz")
----> 4 demet[0] = "Kiraz"

TypeError: 'tuple' object does not support item assignment

demet.remove("Elma")
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-20-d49dcfce475c> in <module>()
----> 1 demet.remove("Elma")

AttributeError: 'tuple' object has no attribute 'remove'

Demetleri Ne Zaman Kullanalım ?

Aslında Python programcıları demetlerden daha çok listeleri  kullanır. Ancak eğer programınızda değiştirilmesini istemediğiniz sabit bilgiler bilgiler varsa (Android uygulama sabitleri gibi) bunları demet içinde depolayabilirsiniz. Aynı zamanda, Read Only(Sadece Okuma) bir veri tipi olduğu için listelere göre biraz daha hızlı çalışırlar.

Sözlükler

Sözlükler veya İngilizce ismiyle dictionaryler aynı gerçek hayattaki sözlükler gibi davranan bir veri tipidir. Bu veri tipi, şimdiye kadar gördüğümüz tüm veri tiplerinden yapısı gereği farklıdır. Sözlüğün içerisinde bulunan  her bir eleman indeks ile değil, anahtar (key) değer veya  (value) olarak tutulur. Bu anlamda gerçek hayattaki sözlüklere oldukça benzerler. Örneğin, elimize bir ingilizce-Türkçe sözlük alıp book kelimesini (key ya da anahtar) aradığımız zaman karşılık değer kitap (değer ya da value) olarak karşımıza çıkar. Sözlükleri de bu şekilde düşünebiliriz.

Şimdi isterseniz bir sözlük oluşturarak konumuza başlayalım.

python Sözlük Oluşturmak

# Süslü Parantez ve iki nokta (:) ile anahtar değerlerimizi yerleştirelim.
Input  : sözlük1 = {"sıfır":0,"bir":1,"iki":2,"üç":3}
Input  : sözlük1
Output : {'bir': 1, 'iki': 2, 'sıfır': 0, 'üç': 3}

# Boş bir sözlük
Input  : sözlük2 = {}

# Boş bir sözlük - dict() ile 
Input  : sözlük2 = dict()
Input  : sözlük2
Output : {}

Sözlük Değerlerine Erişmek ve Sözlüğe Değer Eklemek

Sözlük Değerlerine Erişmek ve Sözlüğe Değer Eklemek
Sözlük veritipinin gerçek hayattaki sözlüklere çok benzediğini söylemiştik. Öyleyse, bir değeri (value) elde etmek için, indeksleri değil anahtarları (key) kullanacağız.

Input  : sözlük1
Output : {'bir': 1, 'iki': 2, 'sıfır': 0, 'üç': 3}

# "bir" anahtarına karşılık gelen değeri buluyoruz.
Input  : sözlük1["bir"]
Output : 1

# "iki" anahtarına karşılık gelen değeri buluyoruz.
Input  : sözlük1["iki"]
Output : 2

# Olmayan bir anahtar
Input  : sözlük1["beş"]
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-9-10d9d9010d5b> in <module>()
      1 # Olmayan bir anahtar
----> 2 sözlük1["beş"]

KeyError: 'beş'

Input  : a = {"bir" : [1,2,3,4], "iki": [[1,2],[3,4],[5,6]],"üç" : 15}
# "iki" anahtarının değeri
Input  : a["iki"]
Output : [[1, 2], [3, 4], [5, 6]]

# İçiçe listeleri biliyoruz.
Input  : a["iki"][1][1]
Output : 4

Input  : a["üç"]
Output : 15

Input  : a["üç"] += 5
Input  : a["üç"]
Output : 20

Input  : a
Output : {'bir': [1, 2, 3, 4], 'iki': [[1, 2], [3, 4], [5, 6]], 'üç': 20}
#Bir sözlüğe dinamik olarak da eleman ekleyebiliriz.

# Sözlük oluşturalım.
Input  : a = {"bir":1,"iki":2,"üç":3}
Input  : a["dört"] = 4 
Input  : a
Output : {'bir': 1, 'dört': 4, 'iki': 2, 'üç': 3}

Dikkat ederseniz yeni eklediğimiz anahtar ve değer sözlüğün sonuna eklenmedi. Burada sözlüklerin bir özelliğini daha görüyoruz. Sözlükler diğer veritiplerinden farklı olarak sıralı olmayan bir veritipidir.

İç içe Sözlükler

Tıpkı listeler gibi, iç içe sözlükler de oluşturulabilir.

# İç içe sözlük
Input  : a = {"sayılar":{"bir":1,"iki":2,"üç":3},"meyveler":{"kiraz":"yaz","portakal":"kış","erik":"yaz"}}

Input  : a["sayılar"]["bir"]
Output : 1

Input  : a["meyveler"]["kiraz"]
Output : 'yaz'

Temel Sözlük Metodları

Input  : yeni_sözlük = {"bir":1,"iki":2,"üç":3}

# values() metodu sözlüğün değerlerini(value) bir liste olarak döner.
Input  : yeni_sözlük.values()
Output : dict_values([1, 2, 3])

# keys() metodu sözlüğün anahtarlarını(key) bir liste olarak döner.
Input  : yeni_sözlük.keys()
Output : dict_keys(['bir', 'iki', 'üç'])

# items() metodu sözlüğün anahtar ve değerlerini bir liste içinde demet olarak döner.
Input  : yeni_sözlük.items()
Output : dict_items([('bir', 1), ('iki', 2), ('üç', 3)])

Bu konuda sözlüklerin yapısını biraz anlayabildiysek iyi yol kat etmişiz demektir. Zaten sözlükleri ileriki derslerimizde  daha derinlemesine göreceğimiz için konumuzu şimdilik burada bırakalım.

         Bugün genel olarak diğer derslerimize göre daha çok şey öğrendik bu yüzden bu dersten sonra güzelce bu dersi tekrar edip sonrasında tek başınıza örnekleri gerçekleştirmeye çalışın. Bunun dışında daha önce gördüğümüz dersleri gözden geçirmeyi unutmayın. Derslerimizde belirli bir noktaya geldiğimiz zaman öğrendiğimiz yerlerle alakalı olarak sizlere yapmanız gereken projeleri cevaplarıyla birlikte yayınlayacağız böylece daha verimli bir öğrenme süreceği geçireceğinizi düşünüyoruz. Diğer derslerimizde görüşürüz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Related Posts
python f string kullanımı

Python F-String ve Kullanımı

Daha önceden işlediğimiz derslerimizde format() fonksiyonuyla karakter dizilerini nasıl biçimlendirebileceğimizi öğrenmiştik. Python’a sonradan eklenen f-string yapısı da format()…

QR kod nedir ?

QR kodu diye bildiğimiz en gelişmiş bir barkod okuma sistemidir. İngilizce Quick Response kelimesinin ilk harfleri temel alınarak…