基于位置的2个字符串匹配

时间:2014-05-07 09:41:09

标签: python python-3.x

我有2个字符串作为输入(第1行和第2行),我希望一次比较1个字符,以确定它们是否匹配,或者它们是否匹配。这有可能与python?这些行本身是从2个较大的文件中迭代出来的.Incase将影响选项。

Match1=0                
if c ::1 in line2_rev == c ::1 in line1:
     Match1+=1 

上面是我尝试过的代码,我使用c来表示每个字符,因为我看到之前在某个地方使用过但不确定这本身是否正确。我使用Match1 + = 1,这样我可以在匹配的数量结束时给出一个数字。

1 个答案:

答案 0 :(得分:3)

如果您想获得匹配发生的位置,请使用此

line1, line2 = 'first', 'frost'
for k, (x, y) in enumerate(zip(line1, line2)):
    print('Match' if x == y else 'Mismatch', 'on position', k)

输出:

Match on position 0
Mismatch on position 1
Mismatch on position 2
Match on position 3
Match on position 4

如果您想知道匹配的总数,可以使用sumoperator.eq(由@eryksun建议):

from operator import eq
print(sum(map(eq, line1, line2))) # 3