Python seti

Python işlevleri ve meth

Genellikle, verilerle çalışırken, yinelenen değerler içeremeyen ve değerleri değiştirilemeyen bir veri listesi depolamak isteyeceksiniz. Örneğin, bir markette satın alma kimliklerinin bir listesini yapıyorsanız, her bir kimliğin benzersiz olmasını istersiniz ve listenizdeki değerleri kimsenin değiştirebilmesini istemezsiniz.

Python set nesnesinin devreye girdiği yer burasıdır. Küme, yalnızca benzersiz değerler içerebilen sırasız bir öğe koleksiyonudur.

Bu öğretici, örneklere atıfta bulunarak tartışacaktır: Python kümelerinin temelleri ve bir kümeye değer ekleme ve çıkarma gibi genel işlemleri nasıl gerçekleştirebileceğiniz.




Python Kümeleri

Python yerleşik küme veri yapısı, matematikteki küme fikrine benzer.

Python kümeleri sıfır veya daha fazla öğe içerebilir ve kümedeki her öğe için tanımlanmış bir sıra yoktur. Bir kümede depolanan her öğe benzersizdir, bu nedenle hiçbir kopya olamaz ve kümedeki her bir bireysel değer değiştirilemez.

Bir kümedeki tek tek değerler değiştirilemese de kümenin kendisi değişebilir. olmak. Bu, kümemize öğe ekleyip çıkarabileceğimiz anlamına gelir.

Küme yapısı, içinde depoladığımız verilerle çalışmak için kullanabileceğimiz bir dizi matematiksel işlemle birlikte geldiğinden kullanışlıdır. bir küme.




Bir Python Kümesi Oluşturun

Python'da kümeler, virgülle ayrılmış bir öğe (veya “eleman”) listesi olarak tanımlanır. Liste daha sonra küme parantezleri ({}) içine alınır.

Katılımcıların %81'i, bir eğitim kampına katıldıktan sonra teknik iş beklentileri konusunda daha emin hissettiklerini belirtti. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan daha az zaman harcadı.

Python setleri herhangi bir sayıyı depolayabilir. ve bir küme içindeki her öğe farklı veri türleri kullanabilir. Bu nedenle, bir küme hem bir tamsayı veya bir dize ya da bir dize, kayan nokta ve bir demet saklayabilir. Ancak kümeler, başka bir küme, sözlük veya liste gibi değişken veri türlerini depolayamaz.

Öğrencinin teslim ettiği ev ödevlerinin listesini depolayan bir küme oluşturmak istediğimizi varsayalım. bir İngilizce sınıfı. Bu seti aşağıdaki kodu kullanarak oluşturabiliriz:

assignments = {"Worksheet #4", "Çalışma Sayfası #5", "Çalışma Sayfası #7", "Konu Sonu İnceleme #2"} print(atamalar) 

Kodumuz şunu döndürür:

{‘Worksheet #5’, ‘Worksheet #4’, ‘Worksheet #7’, ‘End of Topic Review #2’}

Kodumuzda bir set tanımladık dört değeri olan atamalar olarak adlandırılır. Ardından atama setinin içeriğini konsola yazdırdık. Kümeler öğelerini belirli bir sırada saklamadığından değerlerimizin rastgele bir sırayla döndürüldüğünü görebilirsiniz. 





Bir Kümeyi Değiştirme

Bir küme oluşturduğunuzda, kümedeki öğelerin değerlerini değiştiremezsiniz, ancak kümeye öğe ekleyebilir ve bir kümeden öğeleri çıkarın.

Bir Kümeye Öğe Ekleme

Python kümesine öğe eklemek için add() yöntem. Bir öğrencinin Çalışma Sayfası #8'i az önce teslim ettiğini ve öğrencinin ödevinin teslim edilmesini takip etmek için setimizi güncellemek istediğimizi varsayalım. Bunu şu kodu kullanarak yapabiliriz:

Kodumuz şunu döndürür:

{‘Çalışma Sayfası #8’, ‘Çalışma Sayfası #4’, ‘Çalışma Sayfası #5’, ‘Konu Sonu İncelemesi #2’, ‘Worksheet #7’}

Gördüğünüz gibi Worksheet #8 setimize eklendi.

Ayrıca, bir kümeye birden çok öğe eklemek istiyorsanız, update() öğesini kullanabilirsiniz. yöntem. update() yöntemi, bir kümeye parametre olarak eklemek istediğiniz öğelerin listesini kabul eder ve ardından bu öğeleri bir kümeye ekler.

Bir öğrenci hem #8 hem de #9 çalışma sayfalarını teslim etti. Bu kodu kullanarak verilen bu yeni atamaları yansıtmak için kümemizi değiştirebiliriz:

assignments = {"Çalışma Sayfası #4", "Çalışma Sayfası #5", "Çalışma Sayfası #7", "Konu Sonu İnceleme #2"}assigns.update(["Çalışma Sayfası #8", "Çalışma Sayfası #9"]) print(ödevler) 

Kodumuz şunu döndürür:

{‘Çalışma Sayfası #9’, ‘Konu Sonu İnceleme #2’, ‘Çalışma Sayfası #8’, ‘Çalışma Sayfası #7’, ‘Çalışma Sayfası #4’, ‘Çalışma Sayfası #5’}

Artık setimiz iki yeni değer içeriyor: Çalışma Sayfası #8 ve Çalışma Sayfası #9.

Bir Kümeden Öğe Kaldırma

Bir kümeden bir öğeyi kaldırmak için discard() öğesini kullanabilirsiniz. veya remove().

discard() işlevi bir öğeyi kümeden kaldırır ve bir öğe varsa hiçbir şey döndürmez bir kümede bulunmaz. remove() işlevi, bir kümeden bir öğeyi kaldırmayı deneyecek ve bu öğe yoksa, bir hata ortaya çıkacaktır.

Diyelim ki, Çalışma Sayfası #9'u bir öğrencinin ev ödevleri kaydımızdan kaldırın, çünkü ödevi yeniden yapmaları istenmiştir. Bunu şu kodu kullanarak yapabiliriz:

"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir eğitim kampıyla eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayalimdeki işi buldum. hayattaki değerlerim ve hedeflerim ile!"

Venüs, Rockbot'ta Yazılım Mühendisi

Kodumuz şunu döndürür:

{‘End of Topic Review #2’, ‘Çalışma Sayfası #5’, ‘Çalışma Sayfası #4’, ‘Çalışma Sayfası #8’, ‘Çalışma Sayfası #7’}

Worksheet #9 değerinin setimizden kaldırıldığını görebilirsiniz. Bunu discard() yöntemini kullanarak başardık.

Bir Kümeyi Temizle

Bir kümeyi temizlemek için temizle komutunu kullanabilirsiniz. () yöntemi. Bir öğrencinin ödevlerinin kaydını, yıl sonu olduğu ve artık bilgileri saklamamız gerekmediği için silmek istediğimizi varsayalım. Bunu şu kodu kullanarak yapabiliriz:

assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'} atamaları.clear() print(assignments) 

Kodumuz şunu döndürür: {}. Bu, boş kümemizi yansıtır.





Bir Kümenin Dönüş Uzunluğu

Bir kümede kaç öğenin saklandığını öğrenmek için len() yöntem.

Bir öğrencinin kaç tane ev ödevi teslim ettiğini bulmak istediğimizi varsayalım. Bunu şu kodu kullanarak yapabiliriz:

ödevler = {'Çalışma Sayfası #9', 'Konu Sonu İncelemesi #2', 'Çalışma Sayfası #8', 'Çalışma Sayfası #7', 'Çalışma Sayfası #4', 'Worksheet #5'} print(len(assignments)) 

Kodumuz şunu döndürür: 6. Kodumuzda, önce atamalaratamalar kümesinde kaç öğenin saklandığını bulmak için len() yöntemini kullanırız.




Python Küme İşlemleri

Veri depolamak için küme kullanmanın avantajlarından biri, kümelerin matematiksel kümeleri desteklemesidir. operasyonlar. Şimdi üç ana küme işleminin nasıl çalıştığını inceleyelim.

Bu küme işlemleri bir kümenin içeriğini değiştirmez. Bunun yerine, mevcut bir küme üzerinde bir hesaplama yaparlar.

Set Union

union() yöntemi, tüm kümelerin bir kümesini oluşturmamıza olanak tanır. iki kümeden öğeler.

Birleştirmek istediğimiz bir öğrencinin ödevlerinden oluşan iki listemiz olduğunu varsayalım. Bir liste, bir öğrencinin ödeviyle ilgili verileri içerir ve diğeri, bir öğrencinin tamamladığı kompozisyon ödevlerinin bir listesini içerir. Bu kodu kullanarak bu listeleri birleştirebiliriz:

assignments = {"Worksheet #4", " Çalışma Sayfası #5", "Çalışma Sayfası #7"} denemeler = {"Deneme #1", "Deneme #2"} ödev = atamalar.union(denemeler) print(ödev) 

Bizim kod döndürür:

{‘Çalışma Sayfası #7’, ‘Deneme #2’, ‘Çalışma Sayfası #4’, ‘Deneme #1’, ‘Çalışma Sayfası #5’}< br>

Kodumuzda, iki kümemizi birleştirmek için union() yöntemini kullanıyoruz. Yeni birleştirilen kümenin değerini ev ödevi değişkenine atarız. Ardından, homework değişkeninin değerini yazdırdık.

Alternatif olarak, şu kodu kullanabilirdik:

ödevler = {"Çalışma Sayfası #4", "Çalışma Sayfası #5", "Çalışma Sayfası #7"} denemeler = {"Deneme #1", "Deneme #2"} print(ödevler | denemeler) 

“|” operatör bir birleşim kümesi işlemi gerçekleştirir. Kodumuz birleştirilmiş bir küme döndürür:

{‘Deneme #2’, ‘Çalışma Sayfası #4’, ‘Çalışma Sayfası #5’, ‘Deneme #1’, ‘Çalışma Sayfası # 7’}

Set Intersection

intersection() yöntemi, iki küme arasında ortak olan öğelerin bir listesini oluşturmanıza olanak tanır.< br>

Diyelim ki bir öğrencinin teslim ettiği makalelerin bir listesi ve yayınlanan makalelerin bir listesi var. Bir öğrencinin henüz hangi makaleleri teslim etmediğini bilmek istiyorsak, bir kesişme yöntemi uygulayabiliriz.


Kullanacağımız kod şudur:

essays_handed_in = {"Deneme #1", "Deneme #2"} denemeler_issued = {"Deneme #1", "Deneme #2", "Deneme #3"} teslim tarihi = denemeler_handed_in.intersection(essays_issued) print(due) 

Kodumuz şunu döndürür:

{‘Essay #1’, ‘Essay #2’}

Bu örnekte , hem essays_handed_in hem de essays_issued kümelerinde bulunan tüm öğeleri bulmak için intersection() yöntemini kullanırız. due değişkenine işlem, ardından konsola yazdırırız.

Ayrıca, gerçekleştirmek için & operatörünü kullanabiliriz. Bir küme kesişim işlemi yani, iki kümemizde bir kesişim yapmak istiyorsak daha önce, şu kodu kullanabilirdik:

essays_handed_in = {"Essay #1", "Essay #2"} trials_issued = {"Deneme #1", "Deneme #2", "Deneme #3"} print(essays_handed_in & trials_issued) 

Kodumuz şunu döndürür:

{‘Essay #1’, ‘Essay #2’}

Set Difference

difference() yöntemi, bir kümede bulunan ve başka bir kümede bulunmayan öğeleri bulmanızı sağlar.

Bir öğrencinin teslim ettiği ve henüz not verilmeyen tüm denemelerin bir listesini oluşturmak istediğimizi varsayalım. Bunu şu kodu kullanarak yapabiliriz:

essays_handed_in = {"Essay #1", "Essay #2"} trials_graded = {"Essay #1"} final = trials_handed_in.difference(essays_graded) print(final) 

Kodumuz şunu döndürür:

{“Essay #2”}

Bu kodda, essays_handed_in arasındaki farkı bulmak için difference() yöntemini kullandık. ve essays_graded kümeleri. Alternatif olarak, - operatörünü şu şekilde kullanabiliriz:

 trials_handed_in = {"Essay #1", "Essay #2"} trials_graded = {"Essay #1"} print(essays_handed_in - trials_graded) 

Kodumuz şunu döndürür:

{“Essay #2”}

Kodumuzda aynı sonuç döndürülür. Ancak difference() set yöntemini kullanmak yerine, iki küme arasındaki farkı bulmak için bir kontrol gerçekleştiren - operatörünü kullandık.




Sonuç

Python küme veri yapısı, sırasız öğe koleksiyonlarını saklamanıza izin verir.

Bir kümedeki her öğe benzersiz olmalıdır, böylece hiçbir kopya bulunamaz, ve bir kümenin içeriği, kümeye eklendikten sonra değiştirilemez.

Bu eğitimde, örnekler referans alınarak Python kümelerinin temelleri ve kümeler tarafından sunulan ana işlemler tartışılmıştır.< br>

Keşfetmeniz gereken daha çok şey olmasına rağmen, setlerle neler yapabileceğinizin yalnızca yüzeyini kazıdık. . Artık bir profesyonel gibi Python set() yöntemini kullanmaya başlamaya hazırsınız!


Python, dünyanın her yerindeki profesyonel geliştirme ortamlarında kullanılır. veri analizinden web geliştirmeye kadar her şey için dünya. ücretsiz Python.Engineering uygulamasını indirin bugün Python programlamadaki kariyer yolları hakkında daha fazla bilgi edinmek için.





Python seti: StackOverflow Questions