Skip to main content
 首页 » 编程设计

Python之比较两个字符串的最佳方法,记录比较特定项目序列位置的统计数据

2025年05月04日18Leo_wl

我正在处理两个文件,它们都有如下所示的行:

这是||一个例子 ||线 。

在其中一个文件中,上面的行会出现,而另一个文件中的相应行将是相同的,但可能有'||'不同位置的项目:

这 ||是一个 ||例子||行。

我只需要收集“||”频率的统计数据落在第二个文件中的“正确”位置(我们假设第一个文件始终“正确”),“||”出现的频率落在第一个文件没有“||”的地方,怎么总有“||”该特定行的标记不同。

我知道我一个人可以做到这一点,但想知道你们这些聪明人是否知道一些非常简单的方法来做到这一点?基本的东西(比如读取文件)都是我熟悉的东西——我真的只是在寻找关于如何进行实际行比较和收集统计数据的建议!

最好的, 乔治娜

请您参考如下方法:

这是您要找的吗?

此代码假定每一行的格式都与示例中的格式相同

fileOne = open('theCorrectFile', 'r') 
fileTwo = open('theSecondFile', 'r') 
 
for corrrectLine in fileOne: 
    otherLine = fileTwo.readline() 
    for i in len(correctLine.split("||")): 
        count = 0 
        wrongPlacement = 0 
        if (len(otherLine.split("||")) >= i+1) and (correctLine.split("||")[i] == otherLine.split("||")[i]): 
            count += 1 
        else: 
            wrongPLacement += 1 
print 'there are %d out of %d "||" in the correct places and %d in the wrong places' %(count, len(correctLine.split("||"), wrongPlacement)