V pythonu so elementi tabele lahko kakršnegakoli tipa, elementi množic pa morajo biti nespremenljivega tipa (ang. immutable type). Spremenljivke nespremenljivega tipa lahko zgolj ustvarjamo, ne moremo pa spreminjati njihovih vrednosti. Tip int
je denimo nespremenljiv, čeprav python dopušča zaporedje stavkov
a = 7 a = a + 3
ki navidez spremeni vrednost spremenljivke a
. Vendar pa se v resnici ustvari nova spremenljivka (nov prostorček v pomnilniku), ki se nato ponovno poimenuje kot a
, stara spremenljivka a
pa se izgubi. Tipi int
, float
, bool
in str
(nizi) so nespremenljivi, tabele pa niso, saj denimo stavek t[1] = 7
spremeni element obstoječe tabele. Zato tabele ne morejo nastopati kot elementi pythonove množice.
Vendar pa python ponuja nespremenljivo alternativo tabelam: n-terice (podatkovni tip tuple
). n-terice se obnašajo enako kot tabele, le da jih zapisujemo v okroglih oklepajih, njihovih vrednosti pa ne moremo spreminjati:
Ob poskusu spremembe n-terice se sproži izjema. Zaradi svoje nespremenljivosti n-terice lahko shranjujemo v množico.
n-terico z dvema elementoma bomo imenovali par, n-terico s tremi elementi trojica itd. n-terici z enim elementom ne bomo dali posebnega imena, omeniti pa velja, da jo zapišemo tako:
(element,)
Če vejico na koncu izpustimo, bo python izraz tolmačil kot vrednost element v (odvečnih) oklepajih.
Napiši izraz, ki ustvari množico s štirimi elementi: številom -23.4
, nizom 'juha'
, trojico prvih treh praštevil in n-terico z elementom True
.