[Python] Confronto due stringhe "dettagliato"
Daniele Varrazzo
piro a develer.com
Ven 11 Gen 2008 19:19:37 CET
ZeD ha scritto:
> Pietro Battiston wrote:
>
>>> Grazie devo approfondire questa SequenceMatcher, non la conoscevo.
>> Se vuoi evitare una libreria a costo di introdurre dello schifo, è pur
>> sempre una riga :-)
>>
>>>>> (lambda x, y : len([x[i] for i in range(min(len(x),len(y))) if x[i]
>> == y[i]])) (list('ciao'), list('cibo'))
>> 3
>
> prova con "essere" e "sere" (chiariamo, dipende tutto da quello che l'OP
> deve farci con l'informazione cercata)
>
> btw questa versione è più compatta (anche se non meno schifosa :D)
>
> In [38]: f = lambda s1,s2: sum(1 for c1,c2 in zip(s1, s2) if c1 == c2)
Per stare al gioco: puoi anche sommare tra loro i bool:
In [1]: def f(s1, s2):
...: return sum(c1 == c2 for c1, c2 in zip(s1, s2))
...:
In [2]: f('ciao', 'cibo')
Out[2]: 3
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
More information about the Python
mailing list