Monimutkaiset joukko-operaatiot Pythonissa
Yhdistämällä edellisissä oppitunneissa opittujen menetelmien lyhyitä muotoja voidaan suorittaa melko monimutkaisia operaatioita joukoilla.
Selvitetään kaikkien kolmen joukon leikkauspiste:
st1 = {1, 2, 3, 4}
st2 = {3, 4, 1, 6}
st3 = {1, 2, 8, 4}
res = st1 & st2 & st3
print(res) # tulostaa {1, 4}
Erotetaan nyt ensin, millä alkioilla ensimmäinen joukko eroaa toisesta. Sen jälkeen etsitään saan tuloksen ja kolmannen joukon leikkauspiste. Käytetään ryhmitteleviä sulkeita määrittämään operaatioiden suoritusjärjestys:
st1 = {1, 2, 8, 4}
st2 = {3, 4, 5, 6}
st3 = {6, 2, 8, 4}
res = (st1 - st2) & st3
print(res) # tulostaa {8, 2}
Annettu kolme joukkoa:
st1 = {1, 3, 6, 8}
st2 = {5, 8, 4, 2}
st3 = {4, 7, 3, 1}
Yhdistä ensimmäinen ja toinen joukko. Sen jälkeen selvitä niiden leikkauspiste kolmannen joukon kanssa.
Annettu neljä joukkoa:
st1 = {4, 2, 6, 10}
st2 = {1, 6, 3, 2}
st3 = {5, 8}
st4 = {6, 3, 1}
Selvitä ero ensimmäisen ja toisen joukon alkioiden välillä. Sen jälkeen yhdistä kolmas ja neljäs joukko. Lopuksi etsi yhteiset alkiot ensimmäisen ja toisen operaation tuloksena saaduista joukoista.