Demet
Bir demet değişmez bir listedir. Bir tanımlama grubu oluşturulduktan sonra hiçbir şekilde değiştirilemez.
Tuple'lara neden ihtiyaç duyulur?
- Herhangi bir verinin değişikliklerden (kasıtlı veya kazara) korunması durumunda.
- Demetler daha az bellek alanı kaplar ve listelerden daha hızlıdır.
- Bir işlevden birden fazla değer döndürmek için.
- Demetler sözlük anahtarları olarak kullanılabilir (bununla ilgili daha sonra konuşacağız).
Demet oluşturma
1 yol: bir liste gibi, ancak parantez içinde
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
|
bir = (1,2,3,4,5)
print(tip(a)) # sınıf 'demet'
print(a) # (1, 2, 3, 4, 5)
|
2 yollu: tuple() işlevini kullanma
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
|
b = demet((1,2,3,4,5))
print(tip(b)) # <sınıf 'demet'>
yazdır(b) # (1, 2, 3, 4, 5)
|
Hatırlamak zorundasın!
- Demetler değişmez bir listedir.
- Bir demetin öğeleri farklı türlerde olabilir.
tuple() işlevini kullanarak veya öğeleri parantez içinde listeleyerek bir demet oluşturabilirsiniz.
|
Demet Özellikleri
1) Bir Tuple'a parantez kullanmadan değer atayabilirsiniz/
Örneğin, şöyle bir demet oluşturabilirsiniz:
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
|
a = 1,2,3,4,5
print(a[3]) # 4 Bir demetin bir öğesine, bir listenin bir öğesiyle aynı şekilde erişilebilir,
# öğe dizinini köşeli parantez içinde belirterek.
|
2) Tek bir öğe içeren bir demet bildirmek için sonunda bir virgül kullanmanız gerekir:
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
4
|
a = 'a'
b = 'b',
print(type(b)) # <sınıf 'tuple'>
print(type(a)) # <sınıf 'str'>
|
3) Tuple öğelerinin değerlerini bireysel değişkenlere atayabilirsiniz:
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
|
my_tuple = (1, 2, 3, 4, 5)
a, b, c, d, e = my_tuple
print(c) #3
|
Alt çizgiler _ gereksiz değişkenler olarak kullanılabilir
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
|
benim_tuple = (1, 2, 3)
a, _, _ = benim_tuple'ım
print(a) #1
|
Değişken sayısı, sayı ile eşleşmelidir Tuple öğelerinin sayısı!
4) Bir demet, iç içe çeşitli öğeler içerebilir. Bu durumda, iç içe geçmiş öğelere atıfta bulunurken ek köşeli parantezler kullanmalısınız
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
|
my_tuple = (('a', 'b', 'c'), [1, 2], ((1, 'a' ), ('b', 'c'))))
print(my_tuple[2][1]) # ('b', 'c')
|
|
Öğelere gönderme. İç İçe Demetler
Demetler, diğer demetleri öğe olarak içerebilir. Ayrıca, listeler, dizeler vb. bir demetin öğeleri olarak kullanılabilir.
Öğelere erişim, bir listedeki öğelere erişmeye benzer, öğenin dizinini köşeli parantez içinde belirtir. İndeksleme sıfırdan başlar.
İç içe öğelere atıfta bulunulurken ek köşeli parantezler kullanılmalıdır.
my_tuple = (('a', 'b', 'c'), [1, 2], ((1, 'a' ), ('b', 'c'))))
print(my_tuple[2][1]) # ('b', 'c')
|
Demetleri karşılaştırma
Demetleri karşılaştırırken:
- sayılar değere göre karşılaştırılır;
- dizeler sözlük sırasına göre;
- aynı konumdaki elemanların eşitliği durumunda aşağıdaki elemanlar karşılaştırılır;
- elemanların karşılaştırılması ilk eşitsizliğe kadar devam edecek;
- karşılaştırırken, öğeler aynı türe dönüştürülmelidir (bir sayı ile bir dizeyi karşılaştıramazsınız).
Örnek
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
4
5
6
7
8
9
10
on bir
12
|
A=4
B=8
C = 'a',
D = 'z',
E = (14, 'maksimum', 'minimum')
F = (14, 'maksimum', 'min')
k=999
yazdır(A <B) # Doğru
yazdır(C F) # Doğru
yazdır(K
|
|
Dilimler
Dilimleme, listelere benzer şekilde gerçekleştirilebilir.
Unutulmamalıdır ki, bir öğeyi dizine veya dilime ( slice ) göre alarak, tuple'ı hiçbir şekilde değiştirmeyiz, sadece daha sonra kullanmak üzere (örneğin, yazdırmak için) bir kısmını kopyaladık. , bazı hesaplamalar vb. .s.).
Dilim söz dizimi
my_tuple[start:stop:step] # başlat, durdur ve adımla
|
Demet birleştirme
Yeni bir nesne oluşturmak için demetleri birleştirmek mümkündür (birleştirme, dizelere benzer).
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
4
|
x = (1,2,3,4)
y = (5,6,7,8)
z = x + y
print(z) # (1, 2, 3, 4, 5, 6, 7, 8)
|
Çarpma işlemi sırasında, demet birkaç kez tekrarlanır (dizi çarpmaya benzer).
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
|
x = (1,2,3,4)
z = x*2
print(z) # (1, 2, 3, 4, 1, 2, 3, 4)
|
Bir grubu kaldırma
Demet işlemleri ve yöntemleri, liste işlemlerine ve yöntemlerine benzer. Demetin öğelerini değiştirenler hariç.
Bir demet içinde bulunan bir öğe değişmezlik nedeniyle eklenemez veya kaldırılamaz. Ancak, demetin kendisi del operatörü kullanılarak silinebilir.
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
|
öğrenci = (2007, 'Ivan', 'Ivanov', '9-A', Yanlış)
del öğrenci
|
|
Tuple'larla çalışma yöntemleri
Demetlerle çalışma yöntemleri, demetleri değiştiren yöntemler dışında listelerle çalışma yöntemlerine benzer. Demetin değişmezliği nedeniyle bu tür yöntemler kullanılamaz. Yeni bir demet oluşturarak uygulanabilirler.
Demet sıralama örneği
sorted() işlevini kullanarak bir diziyi kolayca sıralayabilirsiniz.
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
4
|
bir = (5, 3, 2, 1, 4)
print(sıralanmış(a)) # [1, 2, 3, 4, 5]
a = demet(sıralanmış(a))
print(a) # (1, 2, 3, 4, 5)
|
append() , extend() , remove() gibi yöntemlerin ve pop() .
|