Python Academy · Lektion

Counter

Räkna objekt enkelt

Lektion 1 av 413 steg

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

Vad är en Counter?

Counter är en underklass till dictionary från modulen collections, byggd för räkning. Du skickar in element och den räknar hur många gånger varje element förekommer.

Importera den med from collections import Counter.

from collections import Counter
c = Counter(['a', 'b', 'a', 'c', 'a'])
print(c)

Räkna tecken

Skicka in vilken iterable som helst, inklusive en sträng, så räknar Counter varje element. Strängar räknas tecken för tecken.

from collections import Counter
c = Counter('mississippi')
print(c)

Slå upp ett antal

Hämta ett antal med hjälp av en dictionary-nyckel. En nyckel som saknas returnerar 0 i stället för att utlösa KeyError – en praktisk skillnad jämfört med en vanlig dict.

from collections import Counter
c = Counter('banana')
print(c['a'])
print(c['z'])

Vanligaste elementen

.most_common(n) returnerar de n vanligaste elementen som par av typen (element, antal), sorterade från vanligast till minst vanligt.

from collections import Counter
words = ['red', 'blue', 'red', 'green', 'blue', 'red']
c = Counter(words)
print(c.most_common(2))

Alla element efter frekvens

Anropa .most_common() utan argument för att få alla element ordnade efter frekvens.

from collections import Counter
c = Counter('aabbbcccc')
print(c.most_common())

Uppdatera antal

Metoden .update() lägger till fler antal från en annan iterable, i stället för att ersätta dem som en vanlig dict skulle göra.

from collections import Counter
c = Counter(['a', 'b'])
c.update(['a', 'a', 'c'])
print(c)

Räkna från en dictionary

Du kan också skapa en Counter direkt från en mapping mellan element och antal, eller med nyckelordsargument.

from collections import Counter
c = Counter(apples=3, pears=2)
print(c)
print(c['apples'])

Lägga ihop två Counter-objekt

Operatorn + kombinerar två Counter-objekt genom att summera matchande nycklar. Element med ett totalt antal på noll eller mindre tas bort.

from collections import Counter
a = Counter(x=2, y=1)
b = Counter(x=1, z=4)
print(a + b)

Subtrahera antal

Operatorn - subtraherar antal och behåller endast positiva resultat. Använd .subtract() om du vill tillåta negativa värden.

from collections import Counter
a = Counter(x=5, y=2)
b = Counter(x=3, y=4)
print(a - b)

Totalt antal

Summera alla antal med sum(c.values()). Det visar hur många element som räknades totalt.

from collections import Counter
c = Counter('mississippi')
print('Total letters:', sum(c.values()))

Lista element

.elements() returnerar en iterator som upprepar varje element lika många gånger som dess antal. Omslut den med list() för att se alla element.

from collections import Counter
c = Counter(a=2, b=1, c=3)
print(sorted(c.elements()))

Snabb kontroll

Givet c = Counter('hello'), vad returnerar c['x']?

Sammanfattning: Counter

Du har lärt dig att Counter:

  • Räknar element från vilken iterable som helst, inklusive strängar.
  • Returnerar 0 för saknade nycklar i stället för att utlösa ett fel.
  • Erbjuder .most_common(n) för att rangordna element efter frekvens.
  • Stöder +, -, .update() och .elements() för räknearbete.
from collections import Counter
votes = ['yes', 'no', 'yes', 'yes', 'no']
print(Counter(votes).most_common(1))
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 ”Counter” gratis?

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

Räkna objekt enkelt 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 1 av 4.

Hur lång tid tar lektionen ”Counter”?

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. Counter
  2. defaultdict
  3. deque
  4. namedtuple och OrderedDict
← Tillbaka till Python Academy