Hogyan lehet egy szövegben a szavak elfordulási statisztikáját kulcs-érték párokba rendezve gyorsan és egyszerűen előállítani?

A feladatot számos módon meg lehet oldani, de általában az egy-két soros rövid, de mégis áttekinthető megoldások preferáltak. Két ilyen megoldást is mutatunk az alábbiakban.

A közös a kettőben, hogy a szöveget a szóközök mentén szétszedjük a split() metódussal. Az így kapott listában lehetnek olyan szavak, amelyeket írásjel követ. Ezeket a strip() metódussal távolítjuk el és hozunk létre egy csak szavakból álló sorozatot. Ahhoz, hogy a kis- és nagybetűvel kezdődő, azonos jelentésű szavak ne külön legyenek számba véve, ezért minden szót egységesen kisbetűsre konvertálunk a lower() metódussal.

Az első módszernél egy szótárépítő kifejezésben számoljuk meg az egyes szavak előfordulását a count() metódussal. A másik módszernél a collections modulból beimportáljuk a Counter osztályt és ennek használatával állítjuk elő a szavak gyakoriságának eloszlását. Ha a létrehozott Counter példány nem megfelelő számunkra, akkor ezt dict szótárrá alakítjuk.

Az egyes megoldások kódjai:

Ha valaki a megoldásokban alkalmazott nyelvi elemek részleteire és további alkalmazási példákra kíváncsi, akkor a Python tudásépítés lépésről lépésre című könyv „Beépített típusok nyilvános metódusai”, valamint a „Sorozatelemek összeszámolása – Counter” fejezeteket érdemes tanulmányozni.

Érdekel a Python tudásépítés lépésről lépésre az alapoktól az első asztali alkalmazásig című e-könyv.