Datastrukturer – gratis prøvekapittel: Mengder
Mengder
En beslektet datatype til lister er mengder (set). Forskjellen på en liste og en mengde er blant annet at rekkefølgen ikke betyr noe i en mengde. Elementene i en mengde vil også være unike. Vi kan lage en mengde ved å liste opp elementene omsluttet av krøllparenteser.
Nedenfor har vi laget to lister og to mengder. Når vi skriver L == M
og S == P
, så tester vi om L
er lik M
og om S
er lik P
. Vi ser at mengdene S
og P
er like, selv om rekkefølgen er annerledes, mens listene L
og M
er ulike, selv om de har de samme elementene.
Vi skal senere se at en annen forskjell er hvilke metoder som er tilgjengelige på de to datatypene.
Vi viser et eksempel som illustrerer noe av det vi kan gjøre med mengder (set):
Skrivemåten A.difference(B)
kan virke litt rar første gang du ser det. Logikken er at det er en metode på mengder som heter difference()
. Vi vil bruke denne på mengden A. Dette gjør vi altså ved å skrive A etterfulgt av et punktum og så metoden. Vi kan lese dette som «A sin differanse med B».
Du kan konvertere en liste til en mengde og motsatt:
Legg merke til at i mengden C
blir ikke tallene #1# og #4# repetert. I en mengde er alle elementene unike. Det behøver de ikke å være i en liste.
Du kan omdefinere et element i en liste ved å spesifisere en ny verdi, slik som følgende eksempel viser:
Dette fungerer ikke for mengder (set).
Du kan også finne ut om et element er med i en mengde eller en liste: