Set and List Operations

Kategori: Python , 05 Eylül 2019 , JanFranco


Bu yazımda küme ve liste operasyonlarını göreceğiz. Kümeler ile başlayalım.
Kümeler set() fonksiyonu ile veya {} süslü parantezler ile tanımlanırlar. Bir eleman sadece bir defa bulunabilir. Aynı eleman iki kez bulunamaz. Kümeler hashing mantığı ile çalışır. Index verilerek elemanlarına erişilemez. Bir küme tanımlayalım ve elemanlarını bastıralım:


x = set()
y = {"Python", "Python", 1, 3}

for i in y:
    print(i)
>>
Python
1
3
Burada iki kez "Python" ifadesi tanımlamamıza rağmen sadece bir defa çıktı alabildik. Kümenin elemanlarına index ile erişebilmek için kümeyi listeye çevirmeliyiz:


list_1 = list(y)
print(list_1[0])
>>
Python
add() methodu ile kümelere eleman ekleyebiliriz. Aynı eleman mevcutsa bir ekleme yapılmaz:


set_1 = {1, 2, 3}
set_1.add(4)
print(set_1)
>>
{1, 2, 3, 4}
difference() methodu ile iki kümenin farkını görebiliriz. difference_update() methodu ile kümeyi o farka göre güncelleyebiliriz:


set_1 = {1, 2, 3, 10, 34, 100, -2}
set_2 = {1, 2, 23, 34, -1}
print(set_1.difference(set_2))
set_1.difference_update(set_2)
print(set_1)
>>
{10, 3, 100, -2}
{3, 100, 10, -2}
Kümeden eleman çıkarmak için discard() methodunu kullanırız:


set_1 = {1, 2, 3, 4, 5, 6}
set_1.discard(2)
print(set_1)
>>
{1, 3, 4, 5, 6}
intersection() methodu ile kümelerin kesişimlerini görebiliriz. intersection_update() methodu ile o kesişime göre kümeyi güncelleyebiliriz:


set_1 = {1, 2, 3, 10, 34, 100, -2}
set_2 = {1, 2, 23, 34, -1}
print(set_1.intersection(set_2))
set_1.intersection_update(set_2)
print(set_1)
>>
{1, 2, 34}
{1, 2, 34}
isdisjoint() methodu ile kümelerin ayrıklığını kontrol edebiliriz. Kümeler ayrık ise True, değilse False değer döndürür. Ayrık kümeler, kesişimleri olmayan kümelerdir. issubset() methodu ile kümelerin, birbirilerinin alt kümesi olup olmadığını kontrol edebiliriz. Kontrol edilen küme, parametre olarak verilen kümenin alt kümesi ise True, değilse False değer döndürülür:


set_1 = {1, 2, 3, 10, 34, 100, -2}
set_2 = {1, 2, 23, 34, -1}
print(set_1.isdisjoint(set_2))

set_1 = {1, 2, 3}
set_2 = {1, 2, 3, 4}
print(set_1.issubset(set_2))
>>
False
True
union() methodu ile kümelerin birleşimlerini görebiliriz. update() methodu ile kümeleri birleştirebiliriz:


set_1 = {1, 2, 3, 10, 34, 100, -2}
set_2 = {1, 2, 23, 34, -1}
print(set_1.union(set_2))
set_1.update(set_2)
print(set_1)
>>
{1, 2, 3, 34, 100, 10, -1, 23, -2}
{1, 2, 3, 34, 100, 10, -1, 23, -2}
Listeler ile devam edelim. Klasik eleman ekleme, silme gibi methodlardan bahsetmeyeceğim.
extend() methodu ile listeleri birleştirebiliriz:


list_1 = [1, 2, 3, 4, 5, 6, 7]
list_2 = [10, 11, 12]
list_1.extend(list_2)
print(list_1)
>>
[1, 2, 3, 4, 5, 6, 7, 10, 11, 12]
Burada list_1.append(list_2) şeklinde bir kullanım yapsaydık 7. eleman 10, 8. eleman 11 olmayacaktı. 7. eleman [10, 11, 12] olacaktı. 8. eleman ise olmayacaktı.
sort() methodu ile listenin elemanlarını sıralayabiliriz. reverse parametresini True olarak belirlersek büyükten küçüğe doğru bir sıralama olacaktır:


list_1 = [12, -2, 3, 1, 34, 100]
list_1.sort(reverse=True)
print(list_1)
>>
[100, 34, 12, 3, 1, -2]
index() methodu ile bir elemanın listede hangi indexte bulunduğunu görebiliriz. Aynı elemandan birden fazla mevcutsa ilk bulunduğu kısmın indexini return eder. Ayrıca ikinci bir parametre olarak hangi indexten başlayacağını da belirtebiliriz:


list_1 = [1, 2, 3, 4, 3, 3, 5, 6, 7, 8, 9]
print(list_1.index(3)
>>
2


Sonraki Yazı: SQL Connection and Data Manipulation
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın