Een set is een ongeordende collectie van elementen. Je kunt geen
specifieke elementen van een set benaderen door bijvorbeeld een index. De
enige manier om elementen van een set te benaderen is via een for
loop, of door met de in
operator te testen of een element in de set
bestaat.
Je moet bij sets denken aan wiskundige verzamelingen. In de wiskunde is
een verzameling een collectie van elementen die alle uniek zijn, en
ieder element zit ofwel in de verzameling, ofwel niet in de verzameling.
Er zijn bepaalde operatoren die toestaan verzamelingen te combineren. Ik
gebruik vanaf dit punt het woord “set” in plaats van “verzameling,”
omdat set
een data type is.
Alleen onveranderbare data types kunnen in een set worden opgeslagen. Sets zelf zijn echter wel veranderbaar.
De kleinste set is een lege set. Dit is een set waarvan het aantal elementen nul is (vergelijkbaar met de lege verzameling in de wiskunde). Een lege set creëer je door de retourwaarde van de functie set()
(zonder argumenten) toe te kennen aan een variabele.
Om een set te creëren waarin al een paar elementen zitten, kun je
die elementen tussen accolades zetten en toekennen aan een variabele. Als
alternatief kun je de set()
functie aanroepen met een list met de
elementen als argument.
fruitset = { "appel", "banaan", "kers" }
print( fruitset )
Als je een set wilt creëren bestaande uit de verschillende letters van
een string, dan kun je set()
aanroepen met de string als argument
(dubbele letters worden automatisch genegeerd).
helloset = set( "hello world" )
print( helloset )
Je kunt een for
loop gebruiken om een set te doorlopen. De variabele
van de for
loop krijgt toegang tot alle element van de set. Er is geen
manier om te bepalen in welke volgorde je de elementen te zien krijgt.
Je kunt ze niet sorteren zolang ze in de set zitten. Je kunt echter wel
met een list casting de set omzetten in een list, en die list dan
sorteren.
fruitset = { "appel", "banaan", "kers", "doerian", "mango" }
for element in fruitset:
print( element )
print()
fruitlist = list( fruitset )
fruitlist.sort()
for element in fruitlist:
print( element )
Met behulp van de len()
functie kun je het aantal elementen in de set
vaststellen.