Python Set

In deze tutorial gaan we Python Set leren. In ons vorige artikel hebben we geleerd over Python String. Je kunt het hier leren.

Python Set

Python Set is een ongeordende verzameling van unieke elementen. Stel dat je een lijst hebt en alleen de unieke items van de lijst nodig hebt, dan kun je Python Set gebruiken. Op dezelfde manier, als je alleen unieke items nodig hebt van invoer, kan Python set je helpen dit te doen. Je kunt items toevoegen of verwijderen. Je kunt een set initialiseren door elementen tussen accolades te plaatsen. Zoals andere sequenties kan een set elementen van meerdere gegevenstypen bevatten. Bovendien kun je ook een set maken van een lijst door de set()-functie te gebruiken. Het volgende voorbeeld geeft je een idee over het initialiseren van een set.

#set met enkelvoudig gegevenstype
set1 = {1, 2, 3, 4, 2, 3, 1}
print(set1)

#set met meervoudig gegevenstype
set2 = {1, 2, 3, (1, 2, 3), 2.45, "Python", 2, 3}
print(set2)

#een set maken van een lijst
theList = [1, 2, 3, 4, 2, 3, 1]
theSet = set(theList)
print(theSet)

De output zal zijn

================== RESTART: /home/imtiaz/set1.py ==================
set([1, 2, 3, 4])
set([1, 2, 3, 2.45, 'Python', (1, 2, 3)])
set([1, 2, 3, 4])
>>> 

Elementen toevoegen aan Python Set

In het vorige voorbeeld hebben we geleerd hoe we een Python-set rechtstreeks kunnen initialiseren. Stel dat we een element aan de set moeten toevoegen, dan kunnen we dat doen door de add()-functie te gebruiken. Maar deze functie kan slechts één element toevoegen. Als je meerdere elementen zoals een lijst of set wilt toevoegen, kun je dat doen door de update()-functie te gebruiken. Het volgende voorbeeld zal je helpen om dit te begrijpen

# initialiseer een lege set
theSet = set()

# voeg een enkel element toe met behulp van de add() functie
theSet.add(1)
theSet.add(2)
theSet.add(3)
theSet.add(2)
# voeg een ander gegevenstype toe
theSet.add('hello')

# voeg meerdere elementen toe met behulp van de update() functie
theSet.update([1,2,4,'hello','world']) #list as iterable element
theSet.update({1,2,5}) #set as iterable element
print(theSet)

De uitvoer van de volgende code zal zijn

================== RESTART: /home/imtiaz/set_new.py ==================
set([1, 2, 3, 4, 5, 'world', 'hello'])
>>> 

Elementen verwijderen uit Python Set

Er zijn twee functies om elementen uit een Python Set te verwijderen. De ene is de remove()-functie en de andere is de discard()-functie. Als het element dat je probeert te verwijderen niet in de set staat, zal de remove() functie hiervoor een uitzondering opwerpen. Maar de discard-functie zal hier niets mee doen. De volgende code zal je dit laten zien

theSet = {1,2,3,4,5,6}

# verwijder 3 met behulp van de discard() functie
theSet.discard(3)
print(theSet)

# roep opnieuw de discard() functie aan om 3 te verwijderen
theSet.discard(3) #This won't raise any exception
print(theSet)

# roep de remove() functie aan om 5 te verwijderen
theSet.remove(5)
print(theSet)

# roep de remove() functie aan om 5 te verwijderen again
theSet.remove(5) #this would raise exception
print(theSet) #this won't be printed

Je zult merken dat de uitvoer er als volgt uitziet,

================== RESTART: /home/imtiaz/set_del.py ==================
set([1, 2, 4, 5, 6])
set([1, 2, 4, 5, 6])
set([1, 2, 4, 6])

Traceback (most recent call last):
  File "/home/imtiaz/set_del.py", line 16, in 
    theSet.remove(5) #this would raise exception
KeyError: 5
>>> 

Python Set Operaties

Je bent misschien bekend met enkele wiskundige setoperaties zoals unie, intersectie, verschil. We kunnen deze ook uitvoeren met Python-sets. Nu zullen we leren hoe we dat moeten doen.

Python Set Unie

Unie is de operatie om twee sets samen te voegen. Dat betekent dat unie een andere set zal creëren die alle unieke elementen van twee sets bevat. Bijvoorbeeld, {1, 2, 3, 4} en {2, 3, 5, 7} zijn twee sets. Als we de unie-operatie uitvoeren, krijgen we {1, 2, 3, 4, 5, 7}. We kunnen dit verkrijgen door de union()-functie te gebruiken.

Python Set Intersectie

Opnieuw is de intersectie de operatie om de gemeenschappelijke unieke elementen van twee sets te verkrijgen. Bijvoorbeeld, {1, 2, 3, 4} en {2, 3, 5, 7} zijn twee sets. Als we ze met elkaar snijden, krijgen we {2, 3}. De intersectie-operatie wordt uitgevoerd door de intersection()-functie.

Python Set Verschil

De verschiloperatie vergelijkt twee verzamelingen en maakt een nieuwe verzameling met items uit verzameling A die niet gemeenschappelijk zijn in verzameling B. Stel, we hebben twee verzamelingen, A = {1, 2, 3, 4} en B = {2, 3, 5, 7}. Dan zal de A – B operatie {1, 4} genereren. Bovendien zal B – A {5, 7} genereren. De verschiloperatie wordt uitgevoerd door de difference()-functie… De volgende code geeft je een idee over hoe je deze verzamelingsbewerkingen in Python-programmering kunt uitvoeren.

A = {1, 2, 3, 4} #initializing set A
B = {2, 3, 5, 7} #initializing set B

union_operation = A.union(B)

print("A union B :")
print(union_operation)

intersection_operation = A.intersection(B)

print("A intersection B :")
print(intersection_operation)

difference_operation = A.difference(B)

print("A-B :")
print(difference_operation)

difference_operation = B.difference(A)
print("B-A :")
print(difference_operation)

Het resultaat dat je krijgt, zal er zo uitzien

================== RESTART: /home/imtiaz/set_op.py ==================
A union B :
set([1, 2, 3, 4, 5, 7])
A intersection B :
set([2, 3])
A-B :
set([1, 4])
B-A :
set([5, 7])
>>> 

Dat is alles voor vandaag. Hopelijk heb je goed geleerd over Python Sets. Voor verdere vragen kun je gewoon je vraag stellen in het opmerkingenveld. We zullen je antwoorden. Referentie: Officiële documentatie

Source:
https://www.digitalocean.com/community/tutorials/python-set