Cristian Re ha scritto: > Ciao a tutti, > > volevo sapere se esiste qualche comando python per confrontare due > stringhe e che torni ad esempio quanti caratteri uguali ci sono nella > medesima posizione nelle due stringhe. > > Ad esempio se str1='ciao' e str2='cibo' un comando che torni 3 > > So che sarebbe fattibile confrontando ogni singolo carattere ma mi > chiedevo se tra le utility di python già non ci fosse qualcosa che > gestisce questo.
C'è la difflib, che serve a comparare due sequenze generiche di oggetti: In [1]: import difflib In [2]: difflib.SequenceMatcher(None, "ciao", "cibo").get_opcodes() Out[2]: [('equal', 0, 2, 0, 2), ('replace', 2, 3, 2, 3), ('equal', 3, 4, 3, 4)] "SequenceMatcher(f, a, b).get_opcodes()" restituisce una lista di quintuplette (tag, i1, i2, j1, j2): ognuna dice in che relazione sono i caratteri a[i1:j1] con i caratteri b[i2:j2]. Tag può essere 'replace', 'delete', 'insert', 'equal'. f serve ad avere il controllo su quale elementi ignorare. Leggi http://docs.python.org/lib/module-difflib.html per i dettagli. Ciao! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python