Python ile Tuple (Demet) Kullanımı

Python programlama dilinde tuple (Türkçe: demetler), platformda gömülü halde bulunan “List“, “Set” ve “Dictionary” ile beraber veri koleksiyonlarını depolamak için kullanılan dört veri tipinden biridir. Biz bu yazımızda, Python’daki demetlerin ne olduğunu, nasıl oluşturulup kullanıldığını adım adım inceleyeceğiz.

Python’da Tuple

Python’da tuple veri tipi, her ne kadar listelere benze de birkaç önemli farkla onlardan ayrılırlar. Tıpkı listeler gibi yinelenen değerlere sahip olup indeks numaraları ile onlara ulaşılabilse de, listelerden farklı olarak değiştirilemez (immutable) olmasıdır. Haliyle tuple kullanılarak oluşturulmuş bir koleksiyona “ekleme”, “silme” ve “güncelleme” yapılamaz.

Tuple’ların tanımlanmasında normal parantezler () kullanılır ve içindeki elemanlar virgül ile ayrılır. Örneğin, farklı sebze isimlerini tuple içinde saklamak istediğimizi düşünelim. Bunu aşağıdaki gibi yazabiliriz:

Yukarıdaki örnekte, sebzeler adında bir tuple oluşturduk ve içerisine dört farklı sebze ismi ekledik. Bu tuple üzerinden elemanlara, indeks numaralarıyla erişebiliriz. Listelere benzer şekilde indeks numarası 0’dan başlar. Örneğimiz üzerinden gösterecek olursak; sebzeler[1] bize “brokoli” sonucunu döndürecektir. Bunu şu şekilde de düşünebiliriz: (“patlıcan”0, “brokoli”1, “havuç”2, “ıspanak3“)

Tuple koleksiyonu, içerisinde herhangi bir veri türünden elemanlar barındırabilir. Örneğin, bir sayı, bir metin, bir liste ve hatta başka bir tuple bile bu koleksiyonun içinde yer alabilir:

Bu örnekte, ornek_tuple adlı tuple’ımızın içerisinde bir tam sayı (5), bir metin (“Merhaba”), bir liste ([1, 2, 3]) ve başka bir tuple ((a, b, c)) bulunmaktadır. Bu özellik, tuple’ları oldukça esnek kılar ve farklı senaryolarda kullanılabilir hale getirir.

O halde, tek bir cümle kurarak Python’da tuple’ların ne olduğunu şu şekilde özetleyebiliriz: Tuple koleksiyonları, normal parantezler içerisinde (()) birbirlerinden virgülle ayrılmış elemanlardan oluşan, sıralı, değiştirilemez ve herhangi bir veri tipinde eleman barındırabilen veri koleksiyonlarıdır.

List veri tipinden farklı olarak tupples değiştirilemez, ilk tanımlandığı şekilde kalır dedik. Belli başlı senaryolar ışığında koleksiyonumuza ekleme, silme, sıra (index) değiştirme işlemi yapmamız gerekebilir.

İşte böyle durumlar için tuple koleksiyonumuzu list() metodu kullanılarak önce liste tipine dönüştürebiliriz. Bu sayede koleksiyon üzerinde gerekli değişiklikleri liste üzerinden yapabilir ve tuple() metodunu kullanarak tekrardan koleksiyonumuzu tuple’a dönüştürebiliriz. Bakınız:

Yukarıdaki örneğimizde, “lahana” kelimesini “marul” ile değiştirdik. Ancak doğrudan tuple üzerinde bu değişikliği yapamadığımız için tuple’ı önce bir listeye dönüştürdük, gerekli değişikliği yaptık ve sonra tekrar tuple’a çevirdik.

Belirtmek isterim ki bu işlem, büyük veri kümeleriyle çalışırken performansı etkileyebilir, bu nedenle dikkatli kullanılmalıdır.

Python’da Tuple Elemanlarına Nasıl Erişebiliriz?

Tuple içindeki elemanlara erişirken, tıpkı listelerde olduğu gibi indeks numaralarını kullanabiliriz. Detaylı anlatımı listelerde yaptığımız için burada genel bir özet olarak nasıl kullanıldığını maddeler halinde derledik:

  • Basit indeksleme:
  • Dilimleme ile elemanlara erişme: Bir tuple içerisinde belirli bir aralıktaki elemanları seçmek için dilimleme (slicing) yöntemini kullanabiliriz.
  • Dilimleme ile adım sayısı belirleme:
  • Başlangıç ve bitiş indeksleri olmadan dilimleme:
  • Negatif indekslerle dilimleme:

Python’da “Tuple” ile “Liste” Arasındaki Farklar

Python’da list ve tuple arasındaki farkları aşağıdaki tablodaki gibi özetleyebiliriz:

ÖzellikListTuple
SözdizimiKöşeli parantez []Normal parantez ()
DeğiştirilebilirEvet (mutable)Hayır (immutable)
Eleman Ekleme/ÇıkarmaMümkünMümkün değil
PerformansYavaşHızlı
İçerikDeğiştirilebilirSabit
Metot sayısıFazlaAz
Python: Tuple ile Liste Arasındaki Farklar

Yukarıdaki tablo, tuple ve liste arasındaki temel farkları kapsamlı bir şekilde özetlemektedir. Her iki veri tipi de kendi kullanım alanlarına ve avantajlarına sahiptir. Hangi yapının kullanılacağına karar verirken bu farkları göz önünde bulundurmak gerekir.

Python’da “For” Döngüsü ile Tuple Kullanımı

Tıpkı listelerde olduğu gibi, tuple’ların üzerinde de for döngüsü ile gezinilebilir. Her iterasyonda tuple’ın bir elemanına erişebiliriz. Örneğin:

Ayrıca, enumerate() metodunu kullanarak tıpkı listede olduğu gibi tuple’ın elemanlarına ve onların indekslerine de erişebiliriz:

Python’da Tuple Birleştirmek

Python’da iki ya da daha fazla tuple’ı birleştirmek oldukça kolaydır.

  • İlk yöntem olarak “+” işaretini kullanabilirsiniz. “+” işareti, iki tuple’ı birleştirerek yeni bir tuple oluşturur. Ancak bu işlem, orijinal tuple’ları değiştirmez; bunun yerine yeni bir tuple döndürür. Örneğin:
  • tuple() metodu ile birleştirme: Birkaç listenin ya da tuple’ın içeriğini tek bir tuple içerisinde birleştirmek için tuple() metodunu kullanabiliriz.

Bu yöntem, tuple’ları önce listelere dönüştürür, sonra listeleri birleştirir ve son olarak birleştirilen listeyi tekrar tuple’a dönüştürür.

  • Kullanarak birleştirme (Python 3.5+):

Python 3.5 ve sonrası sürümlerinde, * operatörünü kullanarak birden fazla tuple’ı veya listenin içeriğini yeni bir tuple içerisinde birleştirebilirsiniz. Örneğin:

Python Tuple Metotları

  • count(): Bu metot, tuple içinde belirtilen bir elemanın kaç kere geçtiğini döndürür.
  • index(): Belirtilen elemanın tuple içindeki ilk indeksini döndürür. Eğer eleman tuple içinde bulunmazsa, ValueError hatası verir.

Bu iki metot, tuple’ların üzerinde doğrudan çalıştırabileceğiniz tek built-in metodlardır. Tuple’ların değiştirilemez (immutable) olması sebebiyle, listelerde bulunan append(), insert(), remove() gibi metotlara tuple’da rastlamayız.

İlgili Makaleler

Bir yanıt yazın

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

Başa dön tuşu