Demetler (Tuplelar)

Demetler veya İngilizce ismiyle tuplelar listelere oldukça benzer ancak farkları demetlerin değiştirilemez oluşudur. Bu yüzden programlarımızda değiştirilmesini istemediğimiz değerleri bir demet içinde depolayabiliriz. İsterseniz konumuza demetlerin oluşturulmasıyla başlayalım.

Demet Oluşturma

# Demet elemanları parantez içine alınarak demet oluşturulabilir.
demet = (1,2,3,4,5,6,7,8,9)
demet
(1, 2, 3, 4, 5, 6, 7, 8, 9)# type() fonksiyonu yardımıyla türünü öğrenelim.
type(demet)
tuple

Peki tek elemanlı bir demet nasıl tanımlanır ?In [4]:

# Tek elemanlı demet bu şekilde tanımlanabilir.
demet = (1,)
demet
(1,)
type(demet)
tuple
demet = (1,2,3,4,5,6,7)

# 0. indekse  ulaşma
demet[0]
1# 4. indekse ulaşma
demet[4]
5
demet[-1]
7
demet[2:]

Out[10]:

(3, 4, 5, 6, 7)

Demetlerin Temel Metodları

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

# Demeti oluşturalım.
demet = (1,2,3,"Mustafa","Murat","Coşkun")
# "Mustafa" elemanının indeksini buluyoruz.
demet.index("Mustafa")

3
demet.index(1)
0

count metoduyla içine verdiğimiz değerin demette kaç defa geçtiğini bulabiliriz.

demet = (1,23,34,34,2,1,4,5,1,1,34)
demet.count(1)
4
demet.count(34)
3

Değiştirilmeme Özelliği

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

# Demet oluşturalım.

demet = ("Elma","Armut","Muz")
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 ziyade listeleri daha çok kullanır. Ancak eğer programınızda değiştirilmesini istemediğiniz bilgiler varsa (Android uygulama sabitleri gibi) bunları demet içinde depolayabilirsiniz. Aynı zamanda, Read Only(Sadece Okuma) bir veritipi olduğu için listelere göre biraz daha hızlı çalışırlar.


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.