Python - Tuples
Demet, değişmez Python nesneleri dizisidir. Tuples, tıpkı listeler gibi dizilerdir. Tuple'lar ve listeler arasındaki farklar, listelerin aksine tuple'lar değiştirilemez ve tuples 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 bu virgülle ayrılmış 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 mevcut olan değeri elde etmek için dizin veya endekslerle birlikte dilimleme için köşeli parantezleri kullanın. Örneğin -
#!/usr/bin/python
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 kayıtlar oluşturmak için mevcut kayıtların bölümlerini alabilirsiniz -
#!/usr/bin/python
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/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : ";
print tup;
Bu, aşağıdaki sonucu verir. Bir istisnaya dikkat edin, bunun nedenidel 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, tuple'lar ö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 |
x in (1, 2, 3) için: x yazdır, | 1 2 3 | Yineleme |