ma non c'è qualcosa di più semplice e già pronto all'uso ? avevo provato con find, però mi dà in uscita solo la prima occorrenza (oppure mi restituisce -1 se non trova nulla). Non c'è qualcosa di simile ?
Il giorno 26 giugno 2013 15:52, Marco Giusti <marco.giu...@gmail.com> ha scritto: > On Wed, Jun 26, 2013 at 03:22:40PM +0200, Riccardo mancuso wrote: > > ciao a tutti, > > vi propongo questo problema (premesso che io non ci sono riuscito). > > Devo trovare in quali punti sono presenti dei termini all'interno di una > > frase. > ... > > se voglio cercare la parola "via" essa sarà presente alla 3° ed alla 12° > riga. > > > > Come posso effettuare la ricerca con python ? > > > > va bene, al posto della riga, anche la posizione vettoriale assoluta > > (tenendo condo che il primo carattere ha posizione 0, il secondo 1 e > > così via). > > > > In sostanza alla fine vorrei avere un dizionario/vettore, con > > l'indicazione della posizione di cui sopra. > > Grazie in anticipo. > > Questo per la posizione assoluta: > > dct = {} > for noun in nouns: > lst = [] > idx = text.find(noun) > while idx != -1: > lst.append(idx) > idx = text.find(noun, idx+1) > dct[noun] = lst > > > E questo per le righe: > > dct = {} > for noun in nouns: > for idx, line in enumerate(test.splitlines()): > if line.find(noun) != -1: > dct.setdefault(noun, []).append(idx) > > 'enumerate' ha un secondo parametro opzionale che indica da quale indice > partire, per esempio se le righe devono essere enumerate a partire da 1. > > Forse puoi invertire l'ordine dei loop nel secondo caso per effettuare > una sola volta la partizione in righe. Inoltre c'è una disparità nei due > casi: il primo riporta tutte le occorrenze di ciascuna parola mentre il > secondo non fa' differenza se in una riga ci sono più occorrenze di una > precisa parola. > > ciao > m. > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python