Python Kümeleri: İşlemler, Yöntemler ve Küme Teorisi

Python'daki ana kümeler. Benzersiz değerleri saklamayı, kesişimleri, birleşimleri ve farklılıkları yürütmeyi ve karma işleminin performans avantajlarını anlamayı öğrenin.

Editör'de deneyin

Genel Bakış

Küme, Python'daki benzersiz öğelerin sırasız bir koleksiyonudur. Kümeler, karma tabloları üzerine kurulu olduğundan, belirli bir öğenin koleksiyon içinde olup olmadığını belirleyen üyelik testi için yüksek düzeyde optimize edilmiştir. Bir öğenin listede olup olmadığını kontrol etmek her öğenin taranmasını gerektirirken ("O(N)" işlemi), bir kümedeki üyeliğin kontrol edilmesi "O(1)" sabit zamanında çalışır. Bu, setleri yinelenenlerin ortadan kaldırılması ve toplu veri filtreleme için inanılmaz derecede güçlü kılar.

Kümeler, değerler içeren (iki nokta üst üste olmadan) süslü parantez `{}` kullanılarak veya yerleşik `set()` yapıcısı kullanılarak başlatılır. Küme parantezleri sözlükler için de kullanıldığından, boş küme parantezleri `{}' yazmanın boş bir sözlüğü başlatacağını unutmayın. Boş bir kümeyi başlatmak için 'set()' kullanmanız gerekir. Bir kümenin içindeki öğeler karıştırılabilir ve değişmez olmalıdır; bu, sayıları, dizeleri ve kayıtları saklayabileceğiniz ancak bir kümenin içinde listeleri veya sözlükleri depolayamayacağınız anlamına gelir.

Temel ekleme ve silme yöntemlerinin ötesinde Python, matematiksel Küme Teorisinden gelen işlemleri yerel olarak destekler. Bu, koleksiyonları birleştirmek için Birlik (`|` veya `.union()`), ortak öğeleri bulmak için Kesişme (`&` veya `.intersection()`), bir koleksiyona özgü öğeleri bulmak için Fark (`-` veya `.difference()`) ve her iki kümedeki öğeleri almak için değil, her iki kümedeki öğeleri almak için Simetrik Farkı (`^`) içerir. Mastering setleri, karmaşık gruplama sorunlarını temiz, performanslı ve okunabilir kodla çözmenize olanak tanır.

Kod ve Yürütme Çıkışı

Listeden kopyaların kaldırılması ve matematiksel küme işlemlerinin gerçekleştirilmesi.

sets_demo.py
Editör'de deneyin
# Removing duplicates
roles_list = ["admin", "user", "editor", "admin", "user"]
# Sort the set to guarantee deterministic printed output
unique_roles = sorted(list(set(roles_list)))
print(f"Unique roles: {unique_roles}")

# Set operations
dev_skills = {"python", "javascript", "sql"}
ops_skills = {"sql", "docker", "kubernetes"}

# Union and Intersection (sorted for deterministic output)
all_skills = sorted(list(dev_skills | ops_skills))
common_skills = sorted(list(dev_skills & ops_skills))
unique_to_dev = sorted(list(dev_skills - ops_skills))

print(f"Union: {all_skills}")
print(f"Intersection: {common_skills}")
print(f"Dev only: {unique_to_dev}")
Terminal Çıkışı
Unique roles: ['admin', 'editor', 'user']
Union: ['docker', 'javascript', 'kubernetes', 'python', 'sql']
Intersection: ['sql']
Dev only: ['javascript', 'python']

Adım Adım Uygulama

  • API sonuçlarından veya CSV dosyalarından yinelenen girişleri kaldırma
  • İki veritabanı arasındaki ortak unsurların belirlenmesi
  • Büyük kimlik listelerinde hızlı arama işlemleri gerçekleştirme

Sıkça Sorulan Sorular

Bir kümedeki elemanlar sıralanmış mıdır?

Hayır, setler sırasızdır. Öğelere bir indeksle (set[0] gibi) erişemez veya onları dilimleyemezsiniz.

Bir kümedeki öğeleri nasıl eklerim veya kaldırırım?

Tek bir öğe eklemek için .add() yöntemini, birini kaldırmak için .remove() veya .discard() yöntemini kullanın. .discard(), öğe eksikse hata vermediğinden daha güvenlidir.

İlgili Konular

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.