Pythoni komplektid

Pythoni komplektid on kollektsiooni tüüp, mis sisaldab tellimata kogumine ainulaadne ja muutumatu objektid. Teisisõnu, Pythoni komplekt ei saa hoida duplikaatüksusi ja kui komplekt on loodud, ei saa üksused muutuda.

Märge:Komplekti üksused on muutumatud, see tähendab, et me ei saa neid üksusi muuta. Hulk ise on aga muudetav, st saame komplekti lisada ja eemaldada elemente.

Järjekorda ei peeta. Näiteks alati, kui printite sama komplekti, võib üksuste järjekord olla erinev.

Pythonis koostatakse komplektid lokkisulgudes {} ja iga komplekti üksus eraldatakse komaga ,


Nagu Pythoni loendid, võivad ka komplektid sisaldada mitut tüüpi objekte, nii et need kõik ei pea olema stringid ega täisarvud. Näiteks võib meil olla komplekt, mis sisaldab segatüüpe:

mixedTypesSet = {'one', True, 13, 2.0}

Kuidas komplekti luua

colorsSet = {'red', 'green', 'blue'} print(colorsSet)

Väljund:


{'red', 'blue', 'green'}

Kuidas komplekti üksustele juurde pääseda

Me ei saa komplekti üksusele juurde pääsemiseks kasutada indeksit. Seda seetõttu, et komplekt on korrastamata ja ei hoia indeksit. Siiski võime kasutada for silmus, et itereerida komplekti üksusi.

colorsSet = {'red', 'green', 'blue'} for c in colorsSet:
print(c)

Väljund:

green red blue

Kuidas üksusi komplektile lisada

Komplekti ühe elemendi lisamiseks peame kasutama add() meetod.

Rohkem kui ühe üksuse lisamiseks komplektile peame kasutama update() meetod.


Ühe üksuse lisamine

colorsSet = {'red', 'green', 'blue'} colorsSet.add('yellow') print(colorsSet)

Väljund:

{'blue', 'red', 'green', 'yellow'}

Üle ühe üksuse lisamine

colorsSet = {'red', 'green', 'blue'} colorsSet.update(['yellow', 'orange', 'white']) print(colorsSet)

Väljund:

{'white', 'red', 'green', 'yellow', 'orange', 'blue'}

Kuidas üksust komplektist eemaldada

Üksuse komplektist eemaldamiseks on kaks meetodit: remove() ja discard().

remove() meetod eemaldab määratud üksuse. Kui üksust pole olemas, remove() tõstatab vea.


colorsSet = {'red', 'green', 'blue', 'orange'} colorsSet.remove('orange') print(colorsSet)

Väljund:

{'blue', 'green', 'red'}

discard() meetod eemaldab määratud üksuse. Kui üksust pole olemas, discard() tahe MITTE tõsta viga.

Eemaldage komplekti kõik elemendid

Kõigi elementide eemaldamiseks ja komplekti tühjendamiseks kasutame clear() meetod:

colorsSet = {'red', 'green', 'blue', 'orange'} colorsSet.clear() print(colorsSet)

Väljund:


set()

Komplekti täielik kustutamine

Komplekti täielikuks kustutamiseks kasutage klahvi del märksõna:

colorsSet = {'red', 'green', 'blue', 'orange'} del colorSet print(colorsSet)

Väljund:

Traceback (most recent call last): File 'pythonSet.py', line 78, in
del colorSet NameError: name 'colorSet' is not defined


Kuidas saada komplekti pikkus

Määratud pikkuse saate helistades len() meetod, nt:

colorsSet = {'red', 'green', 'blue', 'orange'} print(len(colorsSet))

Väljund:


4

Kuidas ühendada kaks komplekti koos

Lihtsaim viis kahe komplekti ühendamiseks on union() meetod, mis tagastab uue komplekti, mis sisaldab ühendatud komplektide elemente.

colorsSet = {'red', 'green', 'blue', 'orange'} numbersSet = {1, 2, 3, 4} numbersAndColors = colorsSet.union(numbersSet) print(numbersAndColors)

Väljund:

{1, 2, 'blue', 3, 4, 'green', 'red', 'orange'}