Un primo esempio semplice per approcciarsi alla struttura potentissima del dizionario in Python.
I dizionari sono strutture potentissime, presenti di default con il Python. Il loro comportamento è simile al dizionario dove troviamo:
parola: definizione che la descrive
Nell’esempio qui sotto, riportiamo un mini-dizionario che ha una parola e a fronte la sua traduzione. Nelle righe successive prepariamo una frase articolata che proviamo perciò a tradurre in modo un po’ grezzo e letterale con l’ausilio del nostro mini-dizionario.
Nello specifico ricorriamo alla funzione nativa split che tratta le stringhe di testo come una sorta di vettore e suddivide le parole separate tra spazi. Per ogni parola stampiamo la sua traduzione secca senza tenere conto del costrutto sintattico/grammaticale.
#per i dizionari traduttore
dizionario = { "casa":"home", "cane":"dog", "oggi":"today", "bella":"nice", "è":"is", "una":"a", "giornata":"day"}
#print (dizionario["casa"])
frase = "oggi è una bella giornata"
parole = frase.split(" ")
for parola in parole:
print(dizionario[parola])Lo stesso esercizio lo possiamo come insieme di una funzione riutilizzabile più programma main.
def faiUnaTraduzione(frasedatradurre):
assert isinstance(frasedatradurre, str) #controlla il tipo che gli si passa, in questo caso una stringa di testo
parole = frasedatradurre.split(" ")
for parola in parole:
print(dizionario[parola])
if __name__=="__main__":
#per i dizionari traduttore
dizionario = { "casa":"home", "cane":"dog", "oggi":"today", "bella":"nice", "è":"is", "una":"a", "giornata":"day"}
frase = "oggi è una bella giornata"
faiUnaTraduzione(frase)Altra versione con una funzione di ritorno
def faiUnaTraduzione(frasedatradurre):
assert isinstance(frasedatradurre, str) #controlla il tipo che gli si passa, in questo caso una lista
out = []
dizionario = { "casa":"home", "cane":"dog", "oggi":"today", "bella":"nice", "è":"is", "una":"a", "giornata":"day"}
parole = frasedatradurre.split(" ")
for parola in parole:
out.append(dizionario[parola])
return (' '.join(out)) #prendo la lista di parole e la concateno con uno spazio e la funzione join
if __name__=="__main__":
#per i dizionari traduttore
frase = "oggi è una bella giornata"
tradotto = faiUnaTraduzione(frase)
print (tradotto)Ultima modifica 16 Ottobre 2023


