Python Academy · Lektion

Dictionary-metoder

Använd get, keys, values, items, update och pop.

Lektion 2 av 414 steg

Dictionary-metoder är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 2 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

Pythons dicts har en mängd metoder för att slå ihop, omforma och läsa data på ett säkert sätt.

keys(), values(), items()

Dessa returnerar vyobjekt som återspeglar ändringar i dicten. Konvertera till en lista om Ni behöver en ögonblicksbild.
d = {'a': 1, 'b': 2}
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))

update()

d.update({'c': 3, 'd': 4}) slår ihop en annan dict med den befintliga. Befintliga nycklar skrivs över.
d = {'a': 1}
d.update({'b': 2, 'a': 99})
print(d)

pop() med standardvärde

d.pop('key', default) tar bort och returnerar värdet. Om nyckeln saknas och inget standardvärde anges utlöses KeyError.
d = {'a': 1, 'b': 2}
val = d.pop('a')
print(val, d)

popitem()

d.popitem() tar bort och returnerar det senast infogade paret (nyckel, värde). Utlöser KeyError för en tom dict.
d = {'a': 1, 'b': 2}
print(d.popitem())
print(d)

setdefault()

d.setdefault('key', default) infogar standardvärdet om nyckeln saknas och returnerar värdet. Det undviker upprepade anrop av get + set.
d = {}
d.setdefault('count', 0)
d['count'] += 1
print(d)

Slå ihop med | (Python 3.9+)

d1 | d2 returnerar en ny sammanslagen dict. d1 |= d2 uppdaterar d1 på plats. Det är renare än update().
d1 = {'a': 1}
d2 = {'b': 2}
print(d1 | d2)

copy() och deepcopy()

d.copy() skapar en grund kopia. För nästlade dicts använder Ni copy.deepcopy(d) för att undvika delade referenser.
import copy
d = {'a': [1,2]}
deep = copy.deepcopy(d)
deep['a'].append(3)
print(d, deep)

Counter från collections

from collections import Counter; Counter('banana') räknar automatiskt teckenfrekvenser.
from collections import Counter
c = Counter('banana')
print(c)

defaultdict

from collections import defaultdict; d = defaultdict(list) skapar automatiskt en tom lista för saknade nycklar.
from collections import defaultdict
d = defaultdict(list)
d['a'].append(1)
print(d)

OrderedDict (äldre funktion)

I Python 3.7+ bevarar vanliga dicts insättningsordningen. OrderedDict är fortfarande användbar för move_to_end() och ordningskänslig likhet.
from collections import OrderedDict
od = OrderedDict({'a':1,'b':2})
od.move_to_end('a')
print(list(od))

Snabb kontroll

Vad gör d.setdefault('key', 0) om 'key' inte finns i d?

Sammanfattning

Dict-metoder: update, pop/popitem, setdefault, copy/deepcopy. Använd Counter för frekvenser, defaultdict för att slippa kontroller av saknade nycklar och | för sammanslagning (3.9+).

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 ”Dictionary-metoder” gratis?

Ja – hela texten till ”Dictionary-metoder” 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 ”Dictionary-metoder”?

Använd get, keys, values, items, update och pop. 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 2 av 4.

Hur lång tid tar lektionen ”Dictionary-metoder”?

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