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. 🙂