Python 3 - Tuples
Demet, sıralı ve değişmez nesnelerin bir koleksiyonudur. Tuples, tıpkı listeler gibi dizilerdir. Tuple'lar ve listeler arasındaki temel fark, tuple'ların listelerden farklı olarak değiştirilememesidir. Tuplelar parantez kullanır, oysa listeler köşeli parantez kullanır.
Bir demet oluşturmak, virgülle ayrılmış farklı değerler koymak kadar basittir. İsteğe bağlı olarak, virgülle ayrılmış bu değerleri parantez arasına da koyabilirsiniz. Örneğin -
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
Boş demet, hiçbir şey içermeyen iki parantez olarak yazılır -
tup1 = ();
Tek bir değer içeren bir demet yazmak için tek bir değer olmasına rağmen virgül eklemeniz gerekir -
tup1 = (50,)
Dize endeksleri gibi, tuple endeksleri de 0'dan başlar ve dilimlenebilir, birleştirilebilir, vb.
Demetlerdeki Değerlere Erişim
Demetteki değerlere erişmek için, o dizinde bulunan değeri elde etmek için dizin veya dizinlerle birlikte dilimleme için köşeli parantezleri kullanın. Örneğin -
#!/usr/bin/python3
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
tup1[0]: physics
tup2[1:5]: (2, 3, 4, 5)
Grupları Güncelleme
Tuple'lar değişmezdir, yani tuple öğelerinin değerlerini güncelleyemez veya değiştiremezsiniz. Aşağıdaki örnekte gösterildiği gibi yeni demetler oluşturmak için mevcut kayıtların bölümlerini alabilirsiniz -
#!/usr/bin/python3
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# Following action is not valid for tuples
# tup1[0] = 100;
# So let's create a new tuple as follows
tup3 = tup1 + tup2
print (tup3)
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
(12, 34.56, 'abc', 'xyz')
Tuple Öğelerini Sil
Bireysel demet elemanlarını kaldırmak mümkün değildir. Elbette, istenmeyen unsurların atıldığı başka bir demeti bir araya getirmenin yanlış bir tarafı yoktur.
Bir demetinin tamamını açıkça kaldırmak için, delBeyan. Örneğin -
#!/usr/bin/python3
tup = ('physics', 'chemistry', 1997, 2000);
print (tup)
del tup;
print ("After deleting tup : ")
print (tup)
Bu, aşağıdaki sonucu verir.
Note- Bir istisna ortaya çıktı. Bunun nedeni sonradel tup, tuple artık mevcut değil.
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
Temel Tuples İşlemleri
Tuples, + ve * operatörlerine dizelere çok benzer şekilde yanıt verir; burada da birleştirme ve tekrar anlamına gelirler, tek fark, sonucun bir dizge değil, yeni bir demet olmasıdır.
Aslında, tuplelar, önceki bölümde dizelerde kullandığımız tüm genel dizi işlemlerine yanıt verir.
Python İfadesi | Sonuçlar | Açıklama |
---|---|---|
len ((1, 2, 3)) | 3 | Uzunluk |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | Birleştirme |
('Merhaba!',) * 4 | ("Merhaba!", "Merhaba!", "Merhaba!", "Merhaba!") | Tekrarlama |
3 inç (1, 2, 3) | Doğru | Üyelik |
(1,2,3) içindeki x için: print (x, end = '') | 1 2 3 | Yineleme |
İndeksleme, Dilimleme ve Matrisler
Tuplelar diziler olduğundan, indeksleme ve dilimleme, aşağıdaki girdiyi varsayarak dizeler için olduğu gibi tupleler için de aynı şekilde çalışır -
T=('C++', 'Java', 'Python')
Python İfadesi | Sonuçlar | Açıklama |
---|---|---|
T [2] | 'Python' | Ofsetler sıfırdan başlar |
T [-2] | 'Java' | Negatif: sağdan say |
T [1:] | ('Java', 'Python') | Dilimleme bölümleri getirir |
Çevreleyen Sınırlayıcı Yok
Çevreleyen Sınırlayıcılar, bu kısa örneklerde belirtildiği gibi, virgülle ayrılmış, semboller için parantezler, başlıklar için parantezler vb.
Yerleşik Tuple İşlevleri
Python aşağıdaki tuple işlevlerini içerir -
Sr.No. | İşlev ve Açıklama |
---|---|
1 | cmp (tuple1, tuple2) Her iki dizinin öğelerini karşılaştırır. |
2 | len (tuple) Demetin toplam uzunluğunu verir. |
3 | max (tuple) Maksimum değere sahip diziden öğe döndürür. |
4 | min (demet) Listeden minimum değeri olan öğeyi döndürür. |
5 | tuple (sıra) Bir listeyi demete dönüştürür. |