Tuple'lar [tapıl] listelere benzemekle birlikte listelerden temel farklı immutable, yani değiştirilemez olmasıdır. Syntax açısından farkı ise listelerde [ ] köşeli parantez kullanılırken tuple'larda ( ) normal parantezler kullanılmasıdır.
Online Python editörlerini tanımak amacıyla şimdi Replit'ten boş bir Repl oluşturalım. Google hesabınız ile bağlanabilirsiniz.
Yukarıdaki örnekte iki adet değişken tanımladık. İlk değişkenimiz list_a ve tipi liste. İkinci değişkenimiz ise tuple_b ve tipi tuple. Bu iki değişkeni yazdırdığımızda liste verileri [ ] köşeli parantezler içinde listelenirken, tuple verileri ( ) normal parantezler içinde listelenecektir.
İki değişkenin veri tipini type() fonksiyonu ile yazdırdığımızda list_a değişkinine ait veri tipinin list, tuple_b değişkenine ait veri tipinin tuple olduğu görülebilir.
len() fonksiyonu ile iki değişkenin uzunluğunun 5 olduğunu bulduk. Hem liste hem de tuple değişkeni 5 birimden oluşmaktadır.
list_a listesinin ilk elemanı olan "a"yı "z" ile değiştirmek istediğimizde herhangi bir sorunla karşılaşmayacağız. Unutmayın ki Python'da listeler mutable, yani değiştirilebilirdir.
Fakat tuple_b değişkeninin ilk elemanını aynı şekilde değiştirmek istediğimizde
"TypeError: 'tuple' object does not(TipHatası: 'tuple' nesnesi öğe atamasını desteklememektedir) hatasını alacağız. Bu tuple'ların Python'da immutable (değiştirilemez) olduğunu göstermektedir.
support item assignment"
Tuple'lar immutable olduğu için sadece iki metodu bulunmaktadır.
count() metodu bir değerin tuple içinde kaç kez tekrarlandığını bulmamıza yarar.
count() metodu ile a tuple'ında 1 değerinin kaç kez tekrarlandığını bulduk ve bunu b değişkenine atadık. Ardından b değişkenini yazdırdık. Sonuç olarak, a tuple'ında 1 sayısı 8 kez tekrarlanmaktadır.
index() metodu aranılan değerin tuple içinde ilk kez kaçıncı sırada görüldüğünü bulmamıza yarar.
index() metodu ile a tuple'ı içindeki 4 değerinin ilk kez kaçıncı sırada görüldüğünü c değişkenine aktardık ve c değişkenini yazdırdık. 4 değeri ilk kez 5. sırada görülmektedir. Python'da indekslemenin 0'dan başladığı unutulmamalıdır.
Bu örneği dilersek c değişkenini kullanmadan
print(a.index(4))kodları ile de yapabilirdik.
print(6 in a)kodlarıyla 6 değerinin a tuple'ında geçip geçmediğini sorguladık. Sonuç boolean tipinde yazdırılacaktır. 6 değeri a tuple'ında olduğu için
Truedeğerini aldık.
Eğer 7 değerinin a tuple'ında olup olmadığını sorgulamak isteseydik False yanıtını alacaktık. 7 sayısı a tuple'ında bulunmamaktadır.
x in tuple sorgulamasını listelerde de uygulayabiliriz. Bunun için print(x in liste_adi) kalıbını kullanmamız yeterlidir.
Bir önceki derste Dictionary veri tipine değinmiştik. Oluşturduğumuz bir sözlüğün item'larını yazdırdığımızda tüm item'lar
('z1', 440)şeklinde parantezler içinde listelenecektir. Yani sözlük item'larının veri tipi tuple'dır. Bunun sebebi sözlük veri tiplerinde anahtar değişkenlerin immutable (değiştirilemez) olmasından kaynaklanmaktadır. Sözlüklerde value değerleri değiştirilebilirken key (anahtar) değerleri değiştirilememektedir.
Tuple'lardaki değerler dilenirse başka tuple'lara aktarılabilir. Bu örnekte a tuple'ındaki "deneme" ve "çiçek" değerlerini aralık belirterek b tuple'ına atadık ve b tuple'ını yazdırdık.
Son olarak,
Python'da tuple'ları çok sık kullanmayacağız. Daha çok listelerle işimiz olacak. Fakat değiştirilmesini istemediğimiz değerleri bir yerde depolamak istiyorsak tuple'ları kullanabiliriz. Örneğin coğrafî koordinatlar tuple'lar için güzel birer örnektir.
konum_a = (37.8275892, 29.2389539)şeklinde bir tuple oluşturabilir, enlem ve boylam koordinatlarını konum_a tuple'ına atayabiliriz.
Uygulama 01:
q tuple'ında 12 sayısının kaç defa tekrarlandığını bulunuz ve yazdırınız.
Bir değerin tuple'da kaç kez tekrarlandığını bulmak için count() metodunu kullanmamız yeterlidir.
q.count(12)kodları ile 12 sayısının 4 kez tekrarlandığını bulabiliriz. Float (ondalıklı) olmasına rağmen 12.00 da 12 olarak kabul edilir.
Uygulama 02:
Sümbül'ün tuple'da kaçıncı sırada olduğunu bulunuz ve yazdırınız.
Aranan bir değerin tuple'da kaçıncı sırada olduğunu bulmak için index() metodunu kullanıyoruz. Sonuç
3olarak yazdırılacaktır. Python'da indeskleme 0'dan başladığı için Sümbül'ün sırası 3'tür.
Uygulama 03:
am_radyo_frekansları tuple'ının uzunluğunu bulunuz ve ardından 630 kHz radyo frekansının AM Radyo Frekansları tuple'ında olup olmadığını sorgulayınız.
Tuple'ın uzunluğunu bulmak için len() fonksiyonunu kullanıyoruz. Toplamda
138frekans vardır. 630 frekansının tuple'da olup olmadığını sorgulamak içinse print(630 in am_radyo_frekanslari) komutunu yazdırmamız yeterlidir. 630 kHz frekansı listede olduğu için
Trueçıktısını elde edeceğiz.
Python'da tuple veri tipi bu şekilde kullanılmakta. Listelerden temel farkı immutable, yani değişmez olmasıdır. Listeler ise mutable, yani değiştirilebilirdir.
Bir sonraki bölümde son veri tipimiz olan Set'e değineceğiz.