Python Academy · Oppitunti

Counter

Laske alkioita helposti

Oppitunti 1/413 vaihetta

Counter on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 4 oppituntia.

Mikä Counter on?

Counter on collections-moduulin sanakirjan aliluokka, joka on tarkoitettu laskemiseen. Sille annetaan alkioita, ja se laskee, kuinka monta kertaa kukin niistä esiintyy.

Tuokaa se käyttöön komennolla from collections import Counter.

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

Merkkien laskeminen

Välittäkää sille mikä tahansa iteroitava, myös merkkijono, niin Counter laskee jokaisen alkion. Merkkijonot lasketaan merkki kerrallaan.

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

Lukumäärän hakeminen

Lukumäärään pääsee käsiksi sanakirjan avaimen tapaan. Puuttuva avain palauttaa arvon 0 eikä aiheuta KeyError-poikkeusta – tämä on kätevä ero tavalliseen dict-objektiin verrattuna.

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

Yleisimmät alkiot

.most_common(n) palauttaa n yleisintä alkiota (alkio, lukumäärä) -pareina järjestettynä yleisimmästä harvinaisimpaan.

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

Kaikki alkiot esiintymistiheyden mukaan

Kutsukaa .most_common()-metodia ilman argumenttia saadaksenne kaikki alkiot esiintymistiheyden mukaan järjestettyinä.

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

Lukumäärien päivittäminen

.update()-metodi lisää lukumääriä toisesta iteroitavasta sen sijaan, että korvaisi ne kuten tavallinen dict tekisi.

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

Laskeminen sanakirjasta

Voitte myös luoda Counter-objektin suoraan alkioiden ja lukumäärien muodostamasta kuvauksesta tai avainsana-argumenteilla.

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

Kahden Countern yhdistäminen

+-operaattori yhdistää kaksi Counteria laskemalla samanavaimisten alkioiden lukumäärät yhteen. Alkiot, joiden kokonaismäärä on nolla tai negatiivinen, poistetaan.

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

Lukumäärien vähentäminen

--operaattori vähentää lukumääriä ja säilyttää vain positiiviset tulokset. Käyttäkää .subtract()-metodia, jos negatiiviset tulokset halutaan sallia.

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

Lukumäärien summa

Summatkaa kaikki lukumäärät komennolla sum(c.values()). Näin saatte selville laskettujen alkioiden kokonaismäärän.

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

Alkioiden luetteleminen

.elements() palauttaa iteraattorin, joka toistaa jokaisen alkion sen lukumäärän verran. Käärikää se list()-kutsuun nähdäksenne kaikki alkiot.

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

Pikatarkistus

Kun c = Counter('hello'), mitä c['x'] palauttaa?

Kertaus: Counter

Opitte, että Counter:

  • laskee alkiot mistä tahansa iteroitavasta, myös merkkijonoista
  • palauttaa puuttuville avaimille arvon 0 virheen sijaan
  • tarjoaa .most_common(n)-metodin alkioiden järjestämiseen esiintymistiheyden mukaan
  • tukee operaatioita +, -, .update() ja .elements() laskentatehtävissä
from collections import Counter
votes = ['yes', 'no', 'yes', 'yes', 'no']
print(Counter(votes).most_common(1))
Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
76
Oppitunnit
320

Usein kysytyt kysymykset

Onko oppitunti ”Counter” ilmainen?

Kyllä – oppitunnin ”Counter” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Counter”?

Laske alkioita helposti Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Python Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Counter”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Python Academy-oppitunnilla?

Kyllä. Jokainen Python Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Counter
  2. defaultdict
  3. deque
  4. namedtuple ja OrderedDict
← Takaisin: Python Academy