Python TUPLE – Paketle, Paketten Çıkar, Karşılaştır, Dilimle, Sil, Anahtar
Tuple Eşleştirme Nedir? Python?
Tuple Eşleştirme Python demetlerdeki ikinci elemanı eşleştirerek demetleri gruplandırma yöntemidir. Python programlamada her bir demetteki ikinci öğeyi kontrol ederek bir sözlük kullanılarak elde edilir. Ancak mevcut tuple'ların bir kısmını alarak yeni tuple'lar yapabiliriz.
Tuple Sözdizimi
Tup = ('Jan','feb','march')
Boş bir tuple yazmak için hiçbir şey içermeyen iki parantez şeklinde yazmanız gerekir.
tup1 = ();
Tek bir değere tuple yazmak için tek bir değer olsa bile virgül eklemeniz gerekir. Ayrıca sonuna aşağıda gösterildiği gibi noktalı virgül yazmanız gerekiyor.
Tup1 = (50,);
Tuple endeksleri 0'dan başlar ve birleştirilebilir, dilimlenebilir vb.
Tuple Ataması
Python Aynı anda birden fazla değişken atamanızı sağlayan tuple atama özelliğine sahiptir. Burada kişinin adı, soyadı, doğum yılı vb. bilgileri içeren tuple 1'i ve içindeki (2,….,1,2,3) gibi değerleri içeren tuple 7'yi atadık.
Örneğin,
(adı, soyadı, doğum yılı, en sevdiği film ve yılı, mesleği, doğum yeri) = Robert
İşte kod,
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print(tup1[0]) print(tup2[1:4])
- Tuple 1, Robert'ın bilgilerinin listesini içerir
- Tuple 2, içindeki sayıların listesini içerir
- Tuple'da [0] değerini, Tuple 2 için ise 1 ile 4 arasındaki değeri çağırıyoruz.
- Kodu çalıştırın - İlk demet için Robert adını verir, ikinci demet için ise sayı verir (2,3 ve 4)
Paketleme ve Paket Açma
Paketlemede değeri yeni bir demet içerisine koyarız, paketi açarken ise bu değerleri tekrar değişkenlere çıkarırız.
x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print(company) print(emp) print(profile)
Tuple'ları karşılaştırma
Bir karşılaştırma operatörü Python tuple'larla çalışabilir.
Karşılaştırma her demetteki ilk öğeyle başlar. =,< veya > ile karşılaştırılmazsa ikinci öğeye geçilir ve bu böyle devam eder.
Her bir demetteki ilk elemanın karşılaştırılmasıyla başlar.
Bunu bir örnekle inceleyelim-
#dava 1
a=(5,6) b=(1,4) if (a>b):print("a is bigger") else: print("b is bigger")
#dava 2
a=(5,6) b=(5,4) if (a>b):print("a is bigger") else: print ("b is bigger")
#dava 3
a=(5,6) b=(6,4) if (a>b):print("a is bigger") else: print("b is bigger")
Dava 1: Karşılaştırma her bir demetin ilk elemanıyla başlar. Bu durumda 5>1 olduğundan a çıkışı daha büyüktür
Olgu 2: Karşılaştırma her bir demetin ilk elemanıyla başlar. Bu durumda 5>5 sonuçsuzdur. Böylece bir sonraki öğeye geçer. 6>4, yani çıktı a daha büyük
Olgu 3: Karşılaştırma her bir demetin ilk elemanıyla başlar. Bu durumda 5>6 yanlıştır. Böylece else bloğuna gider ve “b daha büyüktür” yazar.
Sözlüklerde tuple'ları anahtar olarak kullanma
Tuple'lar hash edilebilir olduğundan ve list olmadığından, sözlükte kullanmak üzere bileşik bir anahtar oluşturmamız gerekiyorsa anahtar olarak Tuple'ı kullanmalıyız.
Örnek E-posta: Ad, soyad, telefon numarası çiftleri vb. haritaları içeren bir telefon rehberi oluşturmamız gerekirse bileşik anahtarla karşılaşırız. Değişkenleri son ve ilk sayı olarak bildirdiğimizi varsayarak şunu yazabiliriz: aşağıda gösterildiği gibi bir sözlük atama ifadesi:
directory[last,first] = number
Parantez içindeki ifade bir tuple'dır. Bu sözlükte gezinmek için for döngüsünde tuple atamasını kullanabiliriz.
for last, first in directory:
print first, last, directory[last, first]
Bu döngü, dizindeki tuple'lar olan anahtarlarda gezinir. Her bir demetin öğelerini en sona ve ilk sıraya atar ve ardından adı ve karşılık gelen telefon numarasını yazdırır.
Tuple'lar ve sözlük
Sözlük, her bir demetin bir anahtar değer çifti olduğu öğeleri çağırarak demetlerin listesini döndürebilir.
a = {'x':100, 'y':200} b = list(a.items()) print(b)
Tuple'ları Silme
Tuple'lar değiştirilemez ve silinemez. Bir demetteki öğeleri silemez veya kaldıramazsınız. Ancak tuple'ı tamamen silmek anahtar kelimeyi kullanarak mümkündür
del
Tuple Dilimleme
Tuple veya listeden belirli alt öğe kümelerini getirmek için dilimleme adı verilen bu benzersiz işlevi kullanırız. Dilimleme yalnızca tuple için değil aynı zamanda dizi ve liste için de geçerlidir.
x = ("a", "b","c", "d", "e") print(x[2:4])
Bu kodun çıktısı ('c', 'd') olacaktır.
Burada ise Python 2 Yukarıdaki örneklerin tümü için kod
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print tup1[0] print tup2[1:4] #Packing and Unpacking x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print company print emp print profile #Comparing tuples #case 1 a=(5,6) b=(1,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 2 a=(5,6) b=(5,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 3 a=(5,6) b=(6,4) if (a>b):print "a is bigger" else: print "b is bigger" #Tuples and dictionary a = {'x':100, 'y':200} b = a.items() print b #Slicing of Tuple x = ("a", "b","c", "d", "e") print x[2:4]
Tuple ile yerleşik işlevler
Farklı görevleri gerçekleştirmek için Tuple, all(), any(), enumerate(), max(), min(), sorted(), len(), Tuple() vb. gibi birçok yerleşik işlevi kullanmanıza olanak tanır.
Tuple'ın listeye göre avantajları
- Demetler değişmez olduğundan, demet boyunca yineleme listeye göre daha hızlıdır.
- Değişmez öğelerden oluşan tuple'lar sözlük için anahtar olarak kullanılabilir, ancak listede bu mümkün değildir.
- Değiştirilemez verileriniz varsa, bunu tuple olarak uygulamak, yazmaya karşı korumalı kalmasını garanti eder
ÖZET
Python Aynı anda birden fazla değişken atamanızı sağlayan tuple atama özelliğine sahiptir.
- Tuple'ların Paketlenmesi ve Açılması
- Paketlemede değeri yeni bir demet içerisine koyarız, paketi açarken ise bu değerleri tekrar değişkenlere çıkarırız.
- A karşılaştırma operatörü Python tuple'larla çalışabilir.
- Sözlüklerde tuple'ları anahtar olarak kullanma
- Tuple'lar yıkanabilir, listeler değiştirilemez
- Sözlükte kullanmak üzere bileşik bir anahtar oluşturmamız gerekiyorsa anahtar olarak Tuple kullanmalıyız
- Sözlük, her bir demetin bir anahtar değer çifti olduğu öğeleri çağırarak demetlerin listesini döndürebilir
- Tuple'lar değiştirilemez ve silinemez. Bir demetteki öğeleri silemez veya kaldıramazsınız. Ancak tuple'ı tamamen silmek "del" anahtar kelimesini kullanarak mümkündür
- Tuple veya listeden belirli alt öğe kümelerini getirmek için dilimleme adı verilen bu benzersiz işlevi kullanırız.