Python Academy · Lektion

Mängder och mängdoperationer

Skapa mängder och utför union, snitt och differens.

Lektion 3 av 414 steg

Mängder och mängdoperationer är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.

Introduktion

Mängder är oordnade samlingar av unika, hashbara element. De är optimerade för medlemskapskontroller och matematiska mängdoperationer.

Skapa en mängd

s = {1, 2, 3} eller s = set([1, 2, 2, 3]) – dubbletter tas automatiskt bort. {} skapar en tom DICT, inte en mängd.
s = {1, 2, 2, 3}
print(s)  # {1, 2, 3}
empty = set()
print(type(empty))

add() och discard()

s.add(x) lägger till ett element. s.discard(x) tar bort det utan fel (inget fel om elementet saknas). s.remove(x) utlöser KeyError om elementet saknas.
s = {1, 2, 3}
s.add(4)
s.discard(9)  # safe
print(s)

Medlemskapskontroll

x in s har komplexiteten O(1) för mängder, jämfört med O(n) för listor. Föredra alltid en mängd när Ni endast behöver snabba medlemskapskontroller.
s = {1, 2, 3}
print(2 in s)
print(9 in s)

Union |

s1 | s2 returnerar element som finns i någon av mängderna. s1.union(s2) är likvärdigt.
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)

Snitt &

s1 & s2 returnerar element som finns i båda mängderna. s1.intersection(s2) är likvärdigt.
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)

Differens -

s1 - s2 returnerar element som finns i s1 men inte i s2. s1.difference(s2) är likvärdigt.
a = {1, 2, 3}
b = {2, 3, 4}
print(a - b)

Symmetrisk differens ^

s1 ^ s2 returnerar element som finns i någon av mängderna men inte i båda. Detta är användbart för att hitta vad som har ändrats mellan två mängder.
a = {1, 2, 3}
b = {2, 3, 4}
print(a ^ b)

Delmängd och övermängd

s1 <= s2 kontrollerar om s1 är en delmängd av s2. s1 >= s2 kontrollerar om s1 är en övermängd. s1 < s2 kontrollerar om s1 är en äkta delmängd.
a = {1, 2}
b = {1, 2, 3}
print(a <= b)
print(b >= a)

frozenset

frozenset är en oföränderlig mängd – den kan användas som en dict-nyckel eller som ett element i en annan mängd.
fs = frozenset([1, 2, 3])
d = {fs: 'value'}
print(d[fs])

Mängdcomprehensions

{x*2 for x in range(5)} skapar en mängd med comprehension-syntax. Dubbletter tas automatiskt bort.
evens = {x*2 for x in range(5)}
print(evens)

Snabb kontroll

Vilken tidskomplexitet har x in s för en Python-mängd s?

Sammanfattning

Mängder: oordnade, unika och med O(1) för medlemskapskontroller. Operationer: | (union), & (snitt), - (differens), ^ (symmetrisk differens). Använd frozenset för oföränderliga mängder.

Fortsätt

Bra arbete! Gå vidare till nästa lektion för att fortsätta utveckla Era färdigheter.
Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
320

Vanliga frågor

Är lektionen ”Mängder och mängdoperationer” gratis?

Ja – hela texten till ”Mängder och mängdoperationer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Mängder och mängdoperationer”?

Skapa mängder och utför union, snitt och differens. Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Python Academy?

Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Mängder och mängdoperationer”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Python Academy-lektionen?

Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Grunderna i dictionaries
  2. Dictionary-metoder
  3. Mängder och mängdoperationer
  4. Dictionary comprehensions
← Tillbaka till Python Academy