Python 6- Tuples (Demetler) – Veri Yapıları- Big Datacı

Tuples Türkçe’de demet demektir. Python’da listeler konusu bir önceki yazımda yer almaktadır. Tuples’da listeler gibi veri yapılarında yer almaktadır.

Tuples, listelere görünüş olarak çok benzeyen bir veri tipidir. Bu veri tipi de listelerde olduğu gibi farklı veri tiplerini barındırma özelliğine sahiptir.

Tuple’ın özellikleri

  • Kapsayıcıdır.
  • Sıralıdır.
  • Değiştirilemezdir.

Bir tuple oluşturmak için birden fazla yol vardır. Öncelikle verileri virgülle ayırarak parantez içerisinde yazabilirsiniz.

t= (10,100,"bigdataci",10.2)
type(t)

Kodların çıktısı

Verinin tipi sorgulandığında tuple’ı elde ettik. (Spyder temasını bundan sonra “Emacs” olarak kullanacağım. Eğer sizde değiştirmek isterseniz önceki yazımdan faydalanabilirsiniz.)

Bir diğer yol ise parantez kullanmadan öğeleri sadece virgülle ayırarak tuple oluşturabilirsiniz.

a=20,30,50,"bigdataci","world",5.5
type(a)

Çıktısı ise

Tuple’ları oluşturmak için Python’da tuple() fonksiyonu ile elde edebilirsiniz.

tuple("bigdataci")

Çıktısı ise

Veri tipi list olan bir veriyi tuple’a nasıl dönüştürülebiliriz?

l=[99,100,"school","kids"]
type(l)
w=tuple([99,100,"school","kids"])
type(w)

Çıktısı ise

List tipinde olan bir veriyi tuple yaparak “w” tuple’ı içerisindeki verilerin değişmesi engellenmiş oldu.

Tuples ile Tek Öğe Tanımlamak

Tuples ile tek öğe tanımlarken ne gibi bir zorlukla karşılaşabiliriz, inceleyelim.

Şimdi tuple ile tek bir veri yazıp tanımlamaya çalışalım:

ex=('bigdatacı')
type(ex)

Çıktısı ise

Tuple veri tipinde tanımladığımız halde tipi sorgulandığında string olduğu görüldü.

Tuple ile tek elemanlı bir öğe tanımlarken ex=(‘bigdataci’,) ile yapılması gerekiyor. Bir örnekle inceleyelim.

new=('bigdatacı',)
type(new)

Çıktısı ise

Tuples Öğelerine Erişmek

Tuples’ın herhangi bir öğesine erişmek için listeler ve diğer veri tiplerinde kullanılan yöntemleri uygulayabiliriz.

tu=("bigdataci","world",100,1000,100.5)
tu[0]
tu[-1]
tu[4]

Tuple ile List’in Farkı

Tuple veri tipinin değiştirilemez olduğundan bahsedilmişti. Kod üzerinden inceleyelim.

tu=("bigdataci","world",100,1000,100.5)
tu[0]="newbigdataci"

Çıktısı ise

Tuple veri tipi değiştirilemez olduğundan dolayı “Tuple bu görevi destekleyemedi” hatasıyla karşılaşıldı. Bu özelliğinden dolayı list’den farklıdır.

Tuple Öğelerini Silme

Tuple öğelerini tek tek silmemiz imkansızdır fakat tuple verisini direkt olarak silebiliriz.

tu=("bigdataci","world",100,1000,100.5)
del tu
print(tu)

Çıktısı ise

del anahtar sözcüğünü list ve diğer veri tiplerinde de kullanmıştık. “tu” verisini silip yazdırmaya çalıştığımızda “tu tanımlanmadı” hatası ile karşılaşıldı.

Tuples ile Kullanılan Diğer İşlemler

Len()

Daha önceki veri tiplerinde de kullanılan len() metodu, veri seti içerisinde bulunan verilerin sayısını vermektedir.

newt=("bigdataci","world",100,1000,100.5)
len(newt)

Tuple’ları Bağlama (Ekleme Yapma)

Tuple’ları veri setlerinin arasına + koyarak bağlanır. Bunu yaparken tek şartımız veri tiplerinin aynı olmasıdır.( Yani string ise string veri eklememiz gerekmektedir.)

connect=("water","coffee","tea")
connect=("water","coffee","tea")+("cola",)
print(connect)

Çıktısı ise

Tuple’ları bağladık. Yukarıda değinildiği gibi “cola” verisi tek öğe olduğu için sonrasında virgül konulmuştur. Böylece tuple’a veri ekleyebildik.

Aynı Veriyi Arttırma

Aynı veriyi birkaç kere yazmak yerine kaç kere yazılmasını istiyorsak o sayıyla çarpılması yeterlidir.

p=("bigdatacı")
p=p*5
print(p)

Çıktısı

Tuple Metotları

Tuple’larda bir karakterden kaç tane olduğunu bulmamız istediğinde count anahtar sözcüğü kullanılır. Ayriyeten istenen karakter dizininin indeks sayısı da index anahtar sözcüğü ile bulunur.

last_tuple=('b','i','g','d','a','t','a','c','ı')

print(last_tuple.count("a"))

print(last_tuple.index("i"))
  • Count anahtar sözcüğünü kullanarak a harfinin veri setinde 2 tane olduğu bulundu.
  • İndex anahtar sözcüğü ile i harfinin kaçıncı indekste olduğu bulundu.

Bir diğer metot ise bir karakter dizininin veri setinde bulunup bulunmadığını görmemizi sağlayan in anahtar sözcüğüdür.

last_tuple=('b','i','g','d','a','t','a','c','ı')
print("b" in last_tuple)
print("i" in last_tuple)
print("w" in last_tuple)

Çıktısı

  • In anahtar sözcüğü ile b harfinin veri setinde olup olmadığını sorguladığımızda True(Doğru) yani var ifadesi ile karşılaştık.
  • i harfinin olup olmadığını sorguladığımızda ise aynı şekilde True ifadesi döndü.
  • w harfini sorguladığımızda ise False(Yanlış) yani yok ifadesi dönmüştür.

Bir Cevap Yazın