Demetler, Python’da, değişmezlik istendiğinde listeler için güçlü bir alternatif sunan temel bir veri yapısıdır. Özelliklerini ve kullanımını anlamak, verimli ve sağlam Python programlama için çok önemlidir.
İçerik Tablosu:
- Demetleri Anlamak: Değişmezlik ve Avantajlar
- Demet Oluşturma: Sözdizimi ve Örnekler
- Demet Elemanlarına Erişmek: İndeksleme ve Dilimleme
- Demet Metotları:
count()
veindex()
- Demetler için Yerleşik Fonksiyonlar:
len()
,max()
,min()
,sum()
,sorted()
- Üyelik Testi:
in
venot in
Operatörleri - Demetlerde Gezinme:
for
Döngülerini Kullanma - Demetler ve Listeler: Doğru Veri Yapısının Seçilmesi
1. Demetleri Anlamak: Değişmezlik ve Avantajlar
Değişebilir (değiştirilebilir) listelerin aksine, demetler değişmezdir. Bu temel fark, birkaç avantaja yol açar:
- Veri Bütünlüğü: Değişmezlik, güvenlik ve güvenilirlik için çok önemli olan verilerin yanlışlıkla değiştirilmesini önler.
- İş Parçacığı Güvenliği: Birden fazla iş parçacığı, veri bozulması riskine girmeden eş zamanlı olarak bir demetle erişebilir.
- Performans: Bazı durumlarda, demetler optimize edilmiş bellek yönetimi nedeniyle listelerden biraz daha hızlı olabilir.
- Sözlük Anahtarı Olarak Kullanım: Listelerin aksine, demetler sözlüklerde anahtar olarak kullanılabilir ve verimli veri düzenlemesine olanak tanır.
2. Demet Oluşturma: Sözdizimi ve Örnekler
Demet oluşturmak basittir. Elemanları, virgülle ayrılmış olarak parantezler ()
içine alın:
# Boş demet
empty_tuple = ()
# Elemanlı demet
my_tuple = (1, 2, 3, "elma", "muz")
my_tuple2 = 1, 2, 3 # Basit demetler için parantezler isteğe bağlıdır
print(empty_tuple) # Çıktı: ()
print(my_tuple) # Çıktı: (1, 2, 3, 'elma', 'muz')
print(my_tuple2) # Çıktı: (1, 2, 3)
3. Demet Elemanlarına Erişmek: İndeksleme ve Dilimleme
Listelerle benzer şekilde indeksleme kullanarak elemanlara erişin:
my_tuple = (10, 20, 30, 40, 50)
print(my_tuple[0]) # Çıktı: 10 (ilk eleman)
print(my_tuple[2]) # Çıktı: 30 (üçüncü eleman)
print(my_tuple[-1]) # Çıktı: 50 (son eleman)
print(my_tuple[1:4]) # Çıktı: (20, 30, 40) (dilimleme)
4. Demet Metotları: count()
ve index()
Demetler, değişmezlik nedeniyle sınırlı sayıda metoda sahiptir:
count(x)
:x
‘in oluşumlarını sayar.index(x)
:x
‘in ilk oluşumunun indeksini döndürür.x
bulunamadıysaValueError
hatası verir.
my_tuple = (1, 2, 2, 3, 4, 2)
print(my_tuple.count(2)) # Çıktı: 3
print(my_tuple.index(3)) # Çıktı: 3
5. Demetler için Yerleşik Fonksiyonlar
Birçok yerleşik fonksiyon demetlerle çalışır:
len(tuple)
: Uzunluğu döndürür.max(tuple)
: En büyük öğeyi döndürür.min(tuple)
: En küçük öğeyi döndürür.sum(tuple)
: Sayısal öğelerin toplamını döndürür.sorted(tuple)
: Yeni bir sıralanmış liste döndürür (demet değişmeden kalır).
my_tuple = (1, 5, 2, 8, 3)
print(len(my_tuple)) # Çıktı: 5
print(max(my_tuple)) # Çıktı: 8
print(min(my_tuple)) # Çıktı: 1
print(sum(my_tuple)) # Çıktı: 19
print(sorted(my_tuple)) # Çıktı: [1, 2, 3, 5, 8]
6. Üyelik Testi: in
ve not in
Operatörleri
Eleman varlığını kontrol edin:
my_tuple = (1, 2, 3, 4, 5)
print(3 in my_tuple) # Çıktı: True
print(6 not in my_tuple) # Çıktı: True
7. Demetlerde Gezinme: for
Döngülerini Kullanma
for
döngüsü kullanarak yineleyin:
my_tuple = ("elma", "muz", "kiraz")
for meyve in my_tuple:
print(meyve)
8. Demetler ve Listeler: Doğru Veri Yapısının Seçilmesi
Değişmezliğin gerekli olduğu durumlarda (örneğin, koordinatları, veritabanı kayıtlarını temsil etmek) demetleri seçin. Değişebilirliğin gerekli olduğu durumlarda (örneğin, değişikliğe ihtiyaç duyan koleksiyonlar) listeleri kullanın.