Counter
Räkna objekt enkelt
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
0fö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))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.