Il giorno lun 27 apr 2020 alle ore 17:27 Mara Leone
<maraleon...@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,
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a