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.