> Il giorno 11 gen 2016, alle ore 17:24, enrico franchi > <enrico.fran...@gmail.com> ha scritto: > > > 2016-01-11 7:39 GMT+00:00 Andrea D'Amore <and.dam...@gmail.com>: > Oh, io ho "starrato" il dizionario e ho unito i file, ma che > dizionario italiano è quello che ha tutte le singole lettere > dell'alfabeto tra i lemmi insieme a "roof" e "road"? > > Beh, l'autore riporta i criteri secondo cui l'ha compilato... > > Dopo di che, le singole lettere mi sembra corretto che ci siano. A "noi" non > fa comodo, ma per la lingua italiana sono parole valide (le parole che si > usano per denotare le suddette lettere...). > > Per le parole straniere, ha spiegato il criterio secondo cui le ha incluse. > Non sono sicuro che sia ottimale per noi, ma non volevo spendere due vite e > mezzo a fare review del miglior dizionario... ;) > >
In effetti considerando le lettere singole aumenta molto il numero dei risultati e il tempo. Con l'algoritmo migliore che sono riuscito a fare ottengo, mettendo 1 come lunghezza minima: Topobook:Desktop gporcari$ time python anagrams.py 1 marco beri Parole da: 1 a: 9 caratteri. Caratteri totali: 9 Numero anagrammi trovati :10234 real 0m21.287s user 0m21.122s sys 0m0.096s Con il limite di 2 è molto meglio : Topobook:Desktop gporcari$ time python anagrams.py 2 marco beri Parole da: 2 a: 9 caratteri. Caratteri totali: 9 Numero anagrammi trovati :1347 real 0m1.254s user 0m1.158s sys 0m0.067s Per Nicola Larosa abbiamo 41234 anagrammi in 7.2 secondi Topobook:Desktop gporcari$ time python anagrams.py 2 nicola larosa Parole da: 2 a: 12 caratteri. Caratteri totali: 12 Numero anagrammi trovati :41234 real 0m7.235s user 0m7.089s sys 0m0.088s Con Enrico Franchi abbiamo 33967 anagrammi in ben 34.7 secondi: Topobook:Desktop gporcari$ time python anagrams.py 2 enrico franchi Parole da: 2 a: 12 caratteri. Caratteri totali: 13 Numero anagrammi trovati :33967 real 0m34.777s user 0m34.554s sys 0m0.131s Trovare i 134995 anagrammi di Manlio Perillo ci costa quasi un minuto. Topobook:Desktop gporcari$ time python anagrams.py 2 manlio perillo Parole da: 2 a: 12 caratteri. Caratteri totali: 13 Numero anagrammi trovati :134995 real 0m56.921s user 0m56.458s sys 0m0.237s Ora per quanto Manlio sia un'ottima persona, 134995 anagrammi sono troppi da leggere. Proviamo ad aumentare la lunghezza minima a 3 e abbiamo un risultato meno 'prolisso': Parole da: 3 a: 12 caratteri. Caratteri totali: 13 Numero anagrammi trovati :13747 real 0m3.188s user 0m3.086s sys 0m0.068s E per me con 2 non ci provo nemmeno e passo subito a 3: Topobook:Desktop gporcari$ time python anagrams.py 3 giovanni porcari Parole da: 3 a: 12 caratteri. Caratteri totali: 15 Numero anagrammi trovati :136078 real 0m36.567s user 0m36.185s sys 0m0.200s Ma con 4 è molto meglio : Topobook:Desktop gporcari$ time python anagrams.py 4 giovanni porcari Parole da: 4 a: 12 caratteri. Caratteri totali: 15 Numero anagrammi trovati :17666 real 0m3.680s user 0m3.556s sys 0m0.077s Il codice ora è un po' più lungo : Topobook:Desktop gporcari$ wc -c anagrams.py 2602 anagrams.py Da ultimo Guido: Topobook:Desktop gporcari$ time python anagrams.py 3 guido van rossum Parole da: 3 a: 12 caratteri. Caratteri totali: 14 Numero anagrammi trovati :13935 real 0m14.880s user 0m14.670s sys 0m0.117s Ciao G _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python