[Python] Ordinare per lunghezza una serie di parole
Inviato: 17/02/2019, 19:23
Ciao a tutti .
Ho bisogno di una mano per un esercizietto in Python.
Ho una serie di parole , devo trovare quelle ripetute almeno 20 volte (che siano più lunghe di 7 lettere) e ordinarle in base alla lunghezza(ordine crescente). Mi viene richiesto di usare un dizionario.
Pensavo a questo:
Fin qui può andare?
Poi , per prendere quelle ripetute più di 20 volte e ordinarle , pensavo di creare una lista; visto che potrei usufruire di sort per ordinare il tutto. Avrei comunque bisogno di usare il metodo items dei dizionari che potrebbe restituirmi una lista contenente chiave e valore, e forse anche il metodo values che mi restituisce una lista dei valori.
Ho qualche problema in questa ultima parte di codice. Qualcuno mi da una mano?
Grazie infinite
Ho bisogno di una mano per un esercizietto in Python.
Ho una serie di parole , devo trovare quelle ripetute almeno 20 volte (che siano più lunghe di 7 lettere) e ordinarle in base alla lunghezza(ordine crescente). Mi viene richiesto di usare un dizionario.
Pensavo a questo:
- Codice:
def OrdinamentoParole(Parole):
if len(Parole)==0:
raise RunTimeError #ho letto che raise solleva eccezioni -> genera un errore in esecuzione quando qualche condizione non è verificata
dizionario={} #creo il dizionario come mi è stato richiesto
for parola in Parole: #scorro parola per parola
if len(parola)>7:
if parola not in dizionario: #se la parola non è contenuta nel dizionario
dizionario[parola]=1
else:
dizionario[parola]+=1
Fin qui può andare?
Poi , per prendere quelle ripetute più di 20 volte e ordinarle , pensavo di creare una lista; visto che potrei usufruire di sort per ordinare il tutto. Avrei comunque bisogno di usare il metodo items dei dizionari che potrebbe restituirmi una lista contenente chiave e valore, e forse anche il metodo values che mi restituisce una lista dei valori.
- Codice:
a=[] #mi creo una lista
a.sort() #uso sort per ordinarla in maniera crescente
Ho qualche problema in questa ultima parte di codice. Qualcuno mi da una mano?
Grazie infinite