Python Tuple Kullanımı

Tuple‘ı anlatmaya başlamadan önce Listenin özelliklerini kısa ve genel hatları ile hatırlayalım ; belirli bir sıra boyunca farklı nesneleri kategorize edebilir, sıralanabilir, tekrarlanabilir, değiştirilebilir (nesne ekleme veya çıkarma ile liste boyutunu değiştirir) ve birden fazla veri türü içerebilir. Peki…

Tuple (Demet) Nedir ?

Demetler; sıralı, değiştirilemez ve birden çok veri türü içerebilen bir nesne topluluğudur. Tuples, tıpkı listeler gibi dizilerdir. Listelerden farklı olarak boyutları değişemez ve tuples parantez kullanırken, listeler köşeli parantez kullanır.

Tuple Nasıl Oluşturulur ?

Tuple: ‘ ( ) ‘ iki parantez arasına verileri virgül ile ayrılarak oluşan nesneler Tuple’ı oluşturur.Bir tuple oluşturmak, virgülle ayrılmış farklı veri türlerini koymak kadar basittir.  İsteğe bağlı olarak bu virgülle ayrılmış değerleri parantezler arasına da koyabilirsiniz. Aşağıdaki örneklere bakalım.

# Boş bir tuple 
empty_tup = () 
print (empty_tup) 

# Tamsayılara sahip tuple
my_tup = (5, 123, 345)
print(my_tup)

# Farklı veri tiplerine sahip tuple
mix_tup = ('fizik', 'kimya', 1997, 'Hello', 2000, 7.9)
print(mix_tup)

# İç içe tuple
my_tuple = ('kodhanesi', [8, 43, 61], (1, 2, 23.2))
print(my_tuple)

# Farklı bir yolu
tup = "a", "b", "c", "d"
print(tup)

Output : ()
         (5, 123, 345)
         ('fizik', 'kimya', 1997, 'Hello', 2000, 7.9)
         ('kodhanesi', [8, 43, 61], (1, 2, 23.2))
         ('a', 'b', 'c', 'd')

Tek bir değer içeren bir tuple yazmak için, yalnızca bir değer olsa bile, virgül eklemeniz gerekir .

Not: Eğer virgül koyulmaz ise tuple değil string olarak algılar. Aşağıda olduğu gibi.

tup = ('kodhanesi',)
str1 = ('kodhanesi')
Output : ('kodhanesi',)
         kodhanesi

Tuple’da Erişim Nasıl Olur ?

tupels = ('fizik', 'kimya', 1997, 1997,'Hello', 2000, 7.9)

#istenilen değeri döndürür.
print ("tupels[2]: ", tupels[2] )

#uzunluğunu döndürür
print ( "len(tupels): ", len(tupels) )

#belirtilen değerin grupta kaç kez görüntülendiğini döndürür.
print ( "tupels.count(1997): ", tupels.count(1997) )

#belirtilen aralıktaki değerleri döndürür.
print ("tupels[1:5]: ", tupels[1:5])

#belirtilen değerin kaçıncı indexte bulunduğunu verir.
print("tupels.index(7.9): ",tupels.index(7.9) )

Output : tupels[2]:  1997
         len(tupels):  7
         tupels.count(0):  2
         tupels[1:5]:  ('kimya', 1997, 1997, 'Hello')
         tupels.index(7.9):  6

Tuple Güncelleme

Tuples değişmezdir, yani tuple elemanlarının değerlerini güncelleyemez veya değiştiremezsiniz. Fakat mevcut demetleri birleştirerek aşağıda olduğu gibi yeni bir demet oluşturabilirsiniz.

tup1 = ('fizik', 1997, 'Hello', 7.9)
tup2 = (5, 123, 'kimya')
tup3 = tup1 + tup2
tup4=tup1+(1,2,3)

print('tup1  : ',tup1)
print('tup2  : ',tup2)
print('tup1 + tup2 : ',tup3)
print('tup1 + (1,2,3) : ',tup4)

# öğeleri tekrarlanan tek bir grup oluşturur.(Listelerde de geçerli)
print('tup2 * 2 : ',tup2 * 2 )
print('(3, 4) * 2 : ',(3, 4) * 2 )
Output : tup1  :  ('fizik', 1997, 'Hello', 7.9)
         tup2  :  (5, 123, 'kimya')
         tup1 + tup2 :  ('fizik', 1997, 'Hello', 7.9, 5, 123, 'kimya')
         tup1 + (1,2,3) :  ('fizik', 1997, 'Hello', 7.9, 1, 2, 3)
         tup2 * 2 :  (5, 123, 'kimya', 5, 123, 'kimya')
         (3, 4) * 2 :  (3, 4, 3, 4)

Tuple Silme

Bir tuple içindeki elemanları değiştiremeyiz. Yani içindeki öğeleri silemeyiz veya kaldıramayız.

Bununla birlikte, bir parçayı tamamen silmek del anahtar sözcüğünü kullanarak mümkündür.

# silinecek tuple
my_tup = ('fizik', 1997,'Hello', 7.9)

# öğeleri silemiyorum
# TypeError: 'tuple' nesnesi öğe silmeyi desteklemiyor
# del my_tup[2]

# Tüm grubu silebilir
del my_tup

# NameError: 'my_tup' adı tanımlanmadı
print(my_tup)
Output : Traceback (most recent call last):
         File "<string>", line 12, in <module>
         NameError: name 'my_tup' is not defined

Tuple’dan List’e dönüşüm

dersler = ('fizik', 'kimya', 'matematik')
dersler = list (dersler)
print(dersler)
Output : ['fizik', 'kimya', 'matematik']

List‘ten Tuple’a dönüşüm

dersler = ['fizik', 'kimya', 'matematik']
dersler = tuple (dersler)
print(dersler)
Output: ('fizik', 'kimya', 'matematik')

Umarız bir faydası olmuştur. Anlamadığınız kısımları yorum kısmından bizlere sorabilirsiniz. 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir