Python Kod

  1. Anasayfa
  2. »
  3. Genel
  4. »
  5. Python Set Nedir?

Python Set Nedir?

admin admin - - 24 dk okuma süresi
236 0

Python’da, birden fazla öğeleri tutmak için bir veri türü olarak kullanılan set veri tipi mevcuttur. Set, matematiksel kümelerin oluşturulmasında kullanılan bir yapıdır. Set, matematikteki küme kavramına benzer şekilde, birçok elemanın bir araya getirildiği bir veri yapısıdır. Ancak, set veri tipi sırayla değildir ve elemanlar tekrar edemez.

Python’da, {} süslü parantez kullanarak set oluşturulabilir. Set veri türü değiştirilebilir, yani elemanlar eklenebilir veya çıkarılabilir. Ayrıca, setlerde birçok matematiksel işlem yapılabilir. Örneğin, iki kümenin kesişimini, farkını veya birleşimini almak gibi.

Set veri tipinin avantajlarından biri, elemanların benzersiz olmasıdır. Bu sayede, özellikle veri analizi veya çift elemanı bulma işlemlerinde çok faydalıdır. Ayrıca, birçok programlama diliyle karşılaştırıldığında, setlerin performansı oldukça yüksektir. Python’da set veri türü, yazılım geliştiricilerine kapsamlı bir veri yönetimi aracı sağlar.

Set Nedir?

Python programlama dilinde set veri türü, birden fazla öğe içeren koleksiyonlar oluşturmak için kullanılan bir veri türüdür. Set veri türü, sıralanmamış ve değiştirilemez öğelerden oluşur. Setlerle işlem yaparken, elemanlar arasında tekrarlanan değerler olmaz. Ayrıca set veri türü, matematiksel kümelerle benzerlik gösterir.

Set veri türü Python’da iki farklı şekilde tanımlanabilir. İlk olarak, süslü parantezler içinde köşeli ayraçlar kullanılarak oluşturulabilir. Örneğin, {1, 2, 3, 4} şeklinde bir set oluşturabilirsiniz. İkinci olarak ise set() fonksiyonu kullanarak bir set oluşturabilirsiniz. Örneğin, set([1, 2, 3, 4]) şeklinde bir set oluşturabilirsiniz.

Set veri türü Python’da önemli özelliklere sahiptir. Set veri türü, değiştirilemezdir ve elemanlar arasında tekrarlanan değerleri kabul etmez. Ayrıca setlerin farklı veri türleriyle birlikte kullanılabilmesi de mümkündür. Python’da setler, diğer veri türleriyle birlikte matematiksel işlemler yapmak için kullanılabilir. Örneğin, iki set arasındaki farkı bulmak için “-” işareti kullanılabilir.

Set Özellikleri Açıklama
Değiştirilemez Setler, elemanları değiştiremezsiniz.
Tekrarlayan Değerler Setlerde aynı elemandan birden fazla olmaz.
Sıralama Yok Set veri türü sıralanmamıştır.

Bu özellikler sayesinde, set veri türü Python programlama dilinde oldukça işlevseldir. Diğer veri türleriyle birlikte kullanılarak, birbirinden farklı işlemler gerçekleştirilebilir. Set veri türü hafif ve hızlıdır, bu nedenle büyük veri kümelerinin işlenmesi için de tercih edilir.

Set Nasıl Kullanılır?

Python’da, set veri türü, süslü parantezler {} kullanılarak oluşturulur. Boş bir set oluşturmak için set() fonksiyonu kullanılır. Örneğin;

Python Kodları Çıktılar
x = {‘elma’, ‘armut’, ‘çilek’} {‘elma’, ‘armut’, ‘çilek’}
x = set((‘hava’, ‘toprak’, ‘su’)) {‘hava’, ‘toprak’, ‘su’}
x = set() {}

Setler, sıralı bir yapıya sahip olmadıkları için indekslenemezler. Bu nedenle, set veri türü ile bir öğeye erişmek için for döngüsü kullanılabilir. Ayrıca, setlerde aynı öğe birden fazla kez bulunamaz. Set içerisinde öğe sayısını öğrenmek için len() fonksiyonu kullanılabilir.

Python Kodları Çıktılar
x = {‘elma’, ‘armut’, ‘çilek’}
for meyve in x:
    print(meyve) elma
    print(len(x)) 3

Set veri türü, diğer veri türleri gibi dildeki birçok işleve uyarlanmıştır. İki setin farkını bulmak için “-” işareti, kesişimini bulmak için “&” işareti ve birleşimini bulmak için “|” işareti kullanılır.

Python Kodları Çıktılar
x = {‘elma’, ‘armut’, ‘çilek’}
y = {‘çilek’, ‘nar’, ‘portakal’}
z = x – y {‘elma’, ‘armut’}
z = x & y {‘çilek’}
z = x | y {‘elma’, ‘armut’, ‘çilek’, ‘nar’, ‘portakal’}

Set veri türü, müfredat sayma işlemleri, işlem kodları ve birleştirme işlevleri ve benzeri gibi birçok programlama fonksiyonlarında kullanılabilir.

Set Fonksiyonları

Python’daki set veri türü için bir dizi işleve erişilebilir. Set fonksiyonları, set elemanlarını eklemek, çıkarmak, kontrol etmek, birleştirmek, kesmek ve daha fazlasını yapmak için kullanılır. İşte Python’daki set fonksiyonlarının bazı örnekleri:

Fonksiyon Adı Açıklama
add() Bir sete bir öğe ekler
remove() Bir öğeyi setten kaldırır.
discard() Bir öğeyi setten kaldırır, ancak öğe sette yoksa hata vermeksizin devam eder
pop() Bir öğeyi setten rastgele kaldırır ve öğeyi döndürür
clear() Bir seti tamamen temizler
copy() Bir setin kopyasını oluşturur
union() Birleştirme işlemi yaparak iki veya daha fazla seti birleştirir
intersection() Kesişim işlemi yaparak iki veya daha fazla setin ortak öğelerini elde eder
difference() Fark işlemi yaparak bir setin diğerinden farklı öğelerini elde eder

Bunlar sadece birkaçıdır ve Python’daki set fonksiyonları sayısı oldukça fazladır. Setlerin kullanım alanlarına ve avantajlarına bağlı olarak, farklı set fonksiyonları tercih edilebilir. Örneğin, iki veya daha fazla setin ortak öğelerini bulmak için intersection() fonksiyonu kullanılabilirken, bir set içindeki tüm öğeleri silmek için clear() fonksiyonu tercih edilebilir.

Sıralı Set ve Sözlük Tipi Set

Python’da set veri türü kullanırken iki farklı seçenek arasında seçim yapabilirsiniz: sıralı set (ordered set) veya sözlük tipi set (dictionary-like set). Sıralı set, elemanların sıralı bir şekilde saklandığı (indexlenebilir) bir set türüdür. Sözlük tipi set ise elemanların key-value (anahtar-değer) çiftleri şeklinde saklandığı, anahtarların indexlendiği bir set türüdür. İki set türü arasındaki en belirgin fark sözlük tipi setin elemanlarına key-value şeklinde erişebilirken, sıralı set her elemana sıralı bir şekilde erişebilirsiniz.

Sıralı setler özellikle matematiksel işlemler yaparken verilerin sıralı bir şekilde saklanmasını gerektiren durumlarda kullanılabilirken, sözlük tipi setler verilerin anahtar-değer çiftleri olarak kullanıldığı gereksinimleri karşılar. İki set türü arasındaki fark burada büyüyor, ancak kullanım alanları talebinize ve işlemlerinizin gerekliliklerine bağlıdır.

Sıralı Set Sözlük Tipi Set
– Sıralı bir şekilde elemanlar eklendiği için elemanların sıralı bir şekilde depolandığı bir set türüdür.
– Elemanların tekrarı yoktur.
– Bir sıralı set tekrarlanmayan bir dizi elemandan oluşur.
– Elemanlar key-value (anahtar-değer) çiftleri olarak saklandığı için anahtarlar kullanılır.
– Key-value çiftleri şeklinde depolanan verilerin bir set türüdür.
– Sözlük tipi sette, her bir anahtarın sadece bir adet değeri vardır.

Set İşlemleri

Python’daki set veri türü, birçok işlem yapılabilen bir veri türüdür. Set veri türü ile yapılabilen işlemlerden bazıları aşağıdaki gibidir:

  • Setler birleştirilebilir. İki setin birleştirilmesiyle yeni bir set oluşturulabilir. Örneğin, “set1 = {1, 2, 3}” ve “set2 = {3, 4, 5}” işlemi sonucunda “set1 | set2” kodu kullanılarak {1, 2, 3, 4, 5} sonucu elde edilebilir.
  • Setler kesiştirilebilir. İki setin ortak elemanları bulunarak yeni bir set oluşturulabilir. Örneğin, “set1 & set2” işlemi sonucunda {3} elde edilir.
  • Setler fark edilebilir. İki setin elemanlarından birinin diğer sette yer almaması durumunda yeni bir set oluşturulur. Örneğin, “set1 – set2” işlemi sonucunda {1, 2} elde edilir.
  • Setler simetrik fark edilebilir. İki setin sadece tek birinde yer alan elemanlarından yeni bir set oluşturulabilir. Örneğin, “set1 ^ set2” işlemi sonucunda {1, 2, 4, 5} elde edilir.

Bunun yanı sıra, setlerin diğer veri türleriyle de işlem yapılabilir. Örneğin, set ve liste yapıları kullanılarak bir dizi eleman kümesi oluşturulabilir. Ayrıca, set veri türü ile ilgili işlemler birden fazla kez uygulanabilir ve sonuçlarının her seferinde farklı olabileceğini unutmamak gerekir.

Set Özellikleri

Python’da set veri türü, koleksiyon veri türleri arasında yer alır ve tekil elemanların her birini tutar. Set veri türü, matematikteki kümeler gibi çalışır ve elemanları arasında sıralama yapmaz. Python’da setler, süslü parantezler içinde tanımlanır ve elemanlar arasında virgülle ayrılır. Setler, aynı zamanda değişmezdir, yani bir kere oluşturulduktan sonra elemanları değiştirilemez.

Setler, farklı veri türlerindeki elemanları bir arada tutabilir ve bu elemanlara erişmek için indeks numarası kullanılmaz. Setlerin özellikleri arasında en önemlisi, elemanların birbirinden eşsiz olmasıdır. Ayrıca, setler kullanıldığında tekrarlayan elemanlar, otomatik olarak silinir.

Setlerde, elemanların sıralaması gerekli değilse daha hızlı işlemler yapılabilir. Setler, özellikle bir liste veya demet içindeki bir elemanın set içinde olup olmadığını kontrol etmek için kullanılır. Bu işlem, diğer veri türleri ile yapıldığında daha yavaş gerçekleşir, ancak set kullanıldığında çok daha hızlıdır. Setler aynı zamanda, bir veri kümesindeki benzersiz değerleri belirlemek için de kullanılabilir.

Özellik Açıklama
Sıralama Elemanlar arasında sıralama yapmaz.
Eşsiz Elemanlar Elemanlar arasında tekrarlayan elemanları tutmaz.
Değiştirilemez Elemanları bir kere set içine ekledikten sonra değişmez.
Hızlı İşlemler Belirli elemanların set içinde olup olmadığını hızlı bir şekilde kontrol edebilirsiniz.

Setler, listeler ve demetlerle karşılaştırıldığında daha az yaygın olarak kullanılır, ancak bazı durumlarda daha uygun olabilir. Setler, özellikle benzersiz değerlerin bulunduğu veri kümeleri ile çalışırken oldukça yararlıdır. Örneğin, bir liste içindeki yinelenen değerler veya bir dosyadaki benzersiz kelime sayısı hesaplanabilir.

  • Sıralama özelliğine ihtiyaç duymayan veri kümelerinin işlenmesi, setler kullanıldığında performans kazanılmasına olanak sağlar.
  • Benzersiz veriler içeren veri kümeleri setler ile daha kolay işlenebilir.
  • Setler, bir veri kümesindeki benzersiz değerleri belirlemek için kullanılabilir.

Set Örnekleri

Python’da set veri türü kullanımının örnekleriyle daha iyi anlaşılabilir. Öncelikle, bir set oluşturmak için ‘{}’ operatörleri kullanılır. Aşağıdaki kod, yeni bir set oluşturulur ve değerler eklenir:

# Yeni bir set oluşturmamy_set = {'elma', 'armut', 'muz'} print(my_set)# Değer eklememy_set.add('çilek')print(my_set)

Yukarıdaki kod örneği, “{‘elma’, ‘armut’, ‘muz’}” olarak belirtilen bir set oluşturur ve ardından bir “çilek” elemanı ekler.Diğer bir örnek olarak, iki farklı seti birleştirmek, yani setlerin birleşimini bulmak için union() fonksiyonu kullanılabilir. Aşağıdaki kod örneği, iki farklı seti birleştirir:

# İki setin birleşimiset_1 = {'elma', 'armut', 'muz'}set_2 = {'ananas', 'kivi', 'elma'}print(set_1.union(set_2))

Yukarıdaki kod, “{‘ananas’, ‘kivi’, ‘muz’, ‘elma’, ‘armut’}” olarak birleştirilmiş iki farklı seti gösterir.Aynı şekilde, iki set arasındaki kesişimi bulmak için intersect() fonksiyonu kullanılabilir. Aşağıdaki kod örneği, iki farklı set arasındaki kesişimi bulur:

# İki setin kesişimiset_1 = {'elma', 'armut', 'muz'}set_2 = {'ananas', 'kivi', 'elma'}print(set_1.intersection(set_2))

Yukarıdaki kod, “{‘elma’}” olarak belirtilen iki farklı set arasındaki kesişimi gösterir.Son olarak, bir setin diğer bir setin alt kümesi olup olmadığını kontrol etmek için de kullanılabilir. Aşağıdaki kod örneği, bir setin diğer bir setin alt kümesi olup olmadığını kontrol eder:

# Alt küme kontrolüset_1 = {'elma', 'armut', 'muz'}set_2 = {'elma', 'muz'}print(set_2.issubset(set_1))

Yukarıdaki kod, “True” olarak belirtilen bir setin diğer bir setin alt kümesi olduğunu gösterir.Yukarıdaki Python kod örnekleri, setlerin kullanımını anlamak için basit ve yararlıdır. Ancak, daha karmaşık örneklerde de set veri türü hala kullanılabilir ve işinizi daha da kolaylaştıracak.

Boş Set Oluşturma

Python’da boş set oluşturmak oldukça kolaydır. İki farklı yöntem vardır:

  • set() fonksiyonu kullanarak boş set oluşturma
  • boş bir süslü parantez {} kullanarak boş set oluşturma

İlk yöntemde, set() fonksiyonu kullanılarak boş bir set oluşturulabilir. Fonksiyon içerisine herhangi bir parametre verilmeden çağrıldığında boş bir set oluşturur. Örnek kod aşağıda yer almaktadır:

 bos_set = set()print(bos_set)  # set()

İkinci yöntemde ise, süslü parantezler içine hiçbir eleman yazılmadan kullanılarak boş bir set oluşturulabilir. Örnek kod aşağıda yer almaktadır:

 bos_set = {}print(bos_set)  # {}

Her iki yöntemde de, boş bir set oluşturulur ve içerisine sonradan elemanlar eklenilebilir.Boş set oluşturma işlemi, setlerin kullanımında oldukça önemlidir. Setlerde elemanlar tekrar etmeyen bir liste şeklinde tutulur ve daha sonra bu elemanlara işlemler yapılır. Boş bir set oluşturarak, daha sonra elemanlar eklenebilir ve bu işlemler kolayca yapılabilir. Bu nedenle, setlerle çalışırken boş bir set oluşturma yöntemlerini bilmek önemlidir.

Setlerin Kullanım Alanları

Python’da set veri türünün birden çok kullanım alanı vardır. Öncelikle, setler matematiksel kümelerin taklididir ve benzersiz öğeleri içinde barındırabilirler. Sık sık tekrar eden öğeleri içermezler, bu nedenle verilerin en temiz haline sahip olmanızı sağlarlar. Bu nedenle, setler özellikle veri ön işleme uygulamalarında sıkça kullanılırlar.

Setler daha sonra birçok programlama görevinde de kullanılabilirler. Örneğin, iki seti birleştirerek (union), iki setin kesişim öğelerini bularak (intersection), bir setin diğer setin alt kümesi olup olmadığını (issubset) veya iki set arasındaki farkı (difference) alarak işlem yapabilirsiniz. Setler ayrıca öğelerinin sıralı bir şekilde yerleştirilmesine izin vermezler, bu nedenle yine de öğeleri sıralamak veya gruplandırmak istediğimizde listeleri veya sözlükleri kullanmamız gerekebilir.

Setlerin bir diğer önemli kullanım alanı, tıpkı matematikte olduğu gibi özel bir hesaplama için bir dizi verinin benzersiz parçalarına ihtiyaç duyduğunuzda kullanmaktır. Örneğin, bir uygulamada doğru yazılmış bir URL’den eşsiz görüntü özeti hash’i veya ne kadar farklı kullanıcının uygulamayı kullandığını saymak için benzersiz kullanıcı tanımlayıcıları oluşturmak için kullanılabilirler. Set veri türünün bu kullanımı, veri manipülasyonu sırasında her bir öğenin benzersizliğini koruyarak verilerin daha doğru bir şekilde işlenebilmesine olanak tanır.

Setlerin Avantajları

Python’da set veri türü kullanım avantajları ve performans kazanımları oldukça yüksektir. Set veri türü, listeden veya demetlerden çok daha hızlıdır ve büyük veri kümeleri üzerinde işlemler yapmak için idealdir. Ayrıca, set veri türü programcıya daha az yazı yazma imkanı verir ve kodların daha anlaşılır olmasını sağlar. Bununla birlikte, setlerin tekrarlı öğeler içermemesi de kodların daha güvenli hale gelmesini sağlar.

Set veri türü ayrıca matematikte kullanılan kesişim, birleşim, fark ve simetrik fark işlemlerini kolaylaştırır. Özellikle, büyük veri kümeleri üzerinde bu işlemlerin yapılması gerektiğinde, set veri türü sayesinde daha hızlı ve daha verimli bir şekilde yapılabilir. Aynı zamanda set veri türü, diğer veri türlerinden farklı bir yapısı olduğu için diğer veri türleriyle yapılan işlemlerde de performans kazanımları sağlar.

Bunların yanı sıra, set veri türü programlama dillerinde kullanılan veri tipleri arasında en kapsamlı veri yapısıdır. Python’daki set veri türü de bu özelliğiyle programlama alanında oldukça faydalıdır.

Genel olarak, set veri türü performansı, hızı ve kullanım kolaylığı nedeniyle Python programlama dilinde oldukça önemlidir ve kullanım avantajları daha da artmaktadır.

Setlerin Dezavantajları

Python’daki set veri türünün bazı dezavantajları ve sınırlamaları bulunmaktadır. Bunlar şu şekilde sıralanabilir:

  • Setler, elemanları sıralı bir şekilde tutmazlar ve elemanlara index numaralarıyla erişilemezler. Bu nedenle, belirli bir sırayla elemanları işlemek gerektiğinde set veri türü tercih edilmemelidir.
  • Setler, matematiksel kümeler gibi her elemandan sadece bir tane içerebilirler. Bu nedenle, bir elemanı birden fazla kez eklemek istediğinizde hata alırsınız.
  • Setlerin elemanları değiştirilemez (immutable) veriler olmalıdır. Yani, listeler veya sözlükler gibi değiştirilebilir veri tipleri setlerin elemanı olarak kullanılamazlar.
  • Setler, diğer veri tiplerine göre daha az kullanılır ve kullanım alanları sınırlıdır. Bu nedenle, belirli bir problemi çözmek için setler yerine diğer veri tipleri tercih edilebilir.

Setlerin bu dezavantajlarına rağmen, bazı durumlarda oldukça kullanışlı olabilirler. Özellikle, matematiksel işlemlerle uğraşırken, bir elemandan sadece bir adet içeren bir küme gerektiğinde veya elemanların benzersiz olması gerektiğinde set veri türü tercih edilebilir.

İlgili Yazılar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir