[Python] Contare parole

Daniele Zambelli daniele.zambelli a gmail.com
Lun 27 Apr 2020 22:03:01 CEST


Il giorno lun 27 apr 2020 alle ore 17:27 Mara Leone
<maraleone95 a gmail.com> ha scritto:
>
> Salve!
> Ho questo programma per contare il numero di volte che ogni lettera compare nei dati (in questo caso un insieme di testi). Come potrei fare per ottenere lo stesso risultato ma contando le occorrenze di ogni parola? Il mio dubbio è che mentre con le lettere io posso creare il set inserendo manualmente le lettere dell'alfabeto, con le parole non posso farlo perché non conosco, ovviamente, tutte le parole contenute nel testo. Qui il programma per il conteggio delle lettere:

Per le lettere questo funziona:

def analizza(text, chars={}):
    """Restituisce l'analisi statistica del numero di caratteri di text.
>>> analizza('Sopra la panca la capra campa')
{'S': 1, 'o': 1, 'p': 4, 'r': 2, 'a': 9, ' ': 5, 'l': 2, 'n': 1, 'c': 3, 'm': 1}
"""
    for c in text: # case sensitive
#     for c in text.upper(): # case insensitive
        chars[c] = chars.get(c, 0) + 1
    return chars

In modo simile si fa con le parole spezzando il testo in con il metodo split.

Ciao

-- 

Daniele

www.fugamatematica.blogspot.com

    giusto!
    nel verso
    forse è perché non guardiamo le cose
    Quando non ci capiamo,


Maggiori informazioni sulla lista Python