Nei siti web capita spesso di mostrare una preview di una news o di un articolo. Queste preview includono solo una parte del testo per poter elencare più articoli o news nella stessa pagina senza appesantire troppo la navigazione.
A tal proposito ecco una funzione di una sola riga che prende un testo, lo accorcia ed aggiunge i puntini di sospensione alla fine:
def extract_short_description(text, len=25): return ' '.join(text[:len].split()[:-1]) + '...'
“text[:len]” prende il testo e lo taglia fino alla lunghezza massima indicata (in questo caso sono 25 caratteri di default).
“.split()” divide il testo in singole parole creando una lista.
“[:-1]” elimina l’ultima parola perché probabilmente è stata tagliata.
“‘ ‘.join(…)” unisce le parole in una stringa immettendo uno spazio tra di esse.
Infine “+ ‘…’” aggiunge i puntini finali
Spesso ciò che in altri linguaggi è richiede diverse righe di codice Python lo esprime in poche pur mantenendo la leggibilità allo stesso livello.
errata: .split() restituisce una lista
Grazie, hai ragione non me ne ero accorto.
Corretto.