Python Academy · Lektion

Counter

Optæl elementer nemt

Lektion 1 af 413 trin

Counter er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad er en Counter?

Counter er en underklasse af dictionary fra modulet collections, som er beregnet til optælling. Du giver den elementer, og den tæller, hvor mange gange hvert element forekommer.

Importér den med from collections import Counter.

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

Optælling af tegn

Du kan angive enhver itererbar værdi, herunder en streng, og så tæller Counter hvert element. Strenge tælles tegn for tegn.

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

Opslag af en optælling

Tilgå en optælling som en dictionary-nøgle. En manglende nøgle returnerer 0 i stedet for at udløse KeyError — en praktisk forskel fra en almindelig dict.

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

Mest almindelige elementer

.most_common(n) returnerer de øverste n elementer som par af typen (element, antal), sorteret fra mest til mindst hyppige.

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

Alle elementer efter hyppighed

Kald .most_common() uden argument for at hente hvert element sorteret efter hyppighed.

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

Opdatering af optællinger

Metoden .update() tilføjer flere optællinger fra en anden itererbar værdi i stedet for at erstatte dem, som en almindelig dict ville gøre.

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

Optælling fra en dictionary

Du kan også oprette en Counter direkte fra en opslagstabel med elementer og antal eller med nøgleordsargumenter.

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

Addition af to Counter-objekter

Operatoren + kombinerer to Counter-objekter ved at lægge optællingerne for ens nøgler sammen. Elementer med en samlet værdi på nul eller derunder fjernes.

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

Subtraktion af optællinger

Operatoren - trækker optællinger fra hinanden og beholder kun positive resultater. Brug .subtract(), hvis du vil tillade negative resultater.

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

Samlet antal optællinger

Læg alle optællinger sammen med sum(c.values()). Det fortæller dig, hvor mange elementer der blev talt i alt.

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

Oplistning af elementer

.elements() returnerer en iterator, der gentager hvert element lige så mange gange som dets optælling. Omslut den med list() for at se dem alle.

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

Hurtigt tjek

Hvis c = Counter('hello'), hvad returnerer c['x'] så?

Opsummering: Counter

Du har lært, at Counter:

  • tæller elementer fra enhver itererbar værdi, herunder strenge.
  • returnerer 0 for manglende nøgler i stedet for at udløse en fejl.
  • tilbyder .most_common(n) til at rangordne elementer efter hyppighed.
  • understøtter +, -, .update() og .elements() til optælling.
from collections import Counter
votes = ['yes', 'no', 'yes', 'yes', 'no']
print(Counter(votes).most_common(1))
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Counter” gratis?

Ja — hele teksten til “Counter” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Counter”?

Optæl elementer nemt Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Counter”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Counter
  2. defaultdict
  3. deque
  4. namedtuple og OrderedDict
← Tilbage til Python Academy