Grazie devo approfondire questa SequenceMatcher, non la conoscevo.<br>Ringrazio anche <span id="_user_piro@develer.com" style="color: rgb(91, 16, 148);">Daniele il metodo che consigli lo conosco ma restituisce quanti caratteri uguali ci sono ma non tiene in considerazione la posizione.
<br><br><br></span><div><span class="gmail_quote">2008/1/11, Daniele Varrazzo <<a href="mailto:piro@develer.com">piro@develer.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Cristian Re ha scritto:<br>> Ciao a tutti,<br>><br>> volevo sapere se esiste qualche comando python per confrontare due<br>> stringhe e che torni ad esempio quanti caratteri uguali ci sono nella<br>> medesima posizione nelle due stringhe.
<br>><br>> Ad esempio se str1='ciao' e str2='cibo' un comando che torni 3<br>><br>> So che sarebbe fattibile confrontando ogni singolo carattere ma mi<br>> chiedevo se tra le utility di python già non ci fosse qualcosa che
<br>> gestisce questo.<br><br>C'è la difflib, che serve a comparare due sequenze generiche di oggetti:<br><br>In [1]: import difflib<br><br>In [2]: difflib.SequenceMatcher(None, "ciao", "cibo").get_opcodes()
<br>Out[2]: [('equal', 0, 2, 0, 2), ('replace', 2, 3, 2, 3), ('equal', 3, 4, 3, 4)]<br><br>"SequenceMatcher(f, a, b).get_opcodes()" restituisce una lista di quintuplette<br>(tag, i1, i2, j1, j2): ognuna dice in che relazione sono i caratteri a[i1:j1]
<br>con i caratteri b[i2:j2]. Tag può essere 'replace', 'delete', 'insert',<br>'equal'. f serve ad avere il controllo su quale elementi ignorare.<br><br>Leggi <a href="http://docs.python.org/lib/module-difflib.html">
http://docs.python.org/lib/module-difflib.html</a> per i dettagli.<br><br>Ciao!<br><br>--<br>Daniele Varrazzo - Develer S.r.l.<br><a href="http://www.develer.com">http://www.develer.com</a><br>_______________________________________________
<br>Python mailing list<br><a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br><a href="http://lists.python.it/mailman/listinfo/python">http://lists.python.it/mailman/listinfo/python</a><br></blockquote>
</div><br>