我有2个txt文件。你知道吗
文件A:
jack john jim
george colin stan
文件B:
hell jack john jim goad tiger
tall jack jim john filer dom
hell george colin jim stab tiger
track jack george colin stan forever
我希望文件A的每一行都逐字检查文件B的每一行,如果有连续的匹配,则返回true。例如
杰克从第一个文件A和检查与第一行的文件B,如果找到然后约翰是检查,然后吉姆。然后我们移动文件B的第二行,依此类推。之后,我们转到文件A的第二行并重复过程。它只有在匹配是连续的时才会返回true,因此文件B的第一行将返回true,因为jack john和jim顺序正确,而文件B的第二行将返回false,因为它们顺序不正确。你知道吗
我要把它当成一个字一个字,不会把整行当作一个字符串,所以必须把它分解成几个字,然后逐字比较。。你知道吗
如果你把每一个单词都放在一行,你可以这样做
获取行的列表。如果所有单词都在一行中用空格隔开,请执行以下操作:
比较应该是直截了当的,比如:
如果您有多行,每行都有多个单词,那么您应该首先读取所有行,然后为每行调用compare函数,将从每行分割的单词传递给它。你知道吗
下面是一种内存效率低下、强制执行比较函数的方法:
您需要逐行读取每个文件,这样就有了调用
compare()
函数的嵌套循环:我们可以通过传递\u list和b\u list的索引并将\u list和b\u list设置为
compare()
函数的“全局”来优化它。要么真的让它们成为“全局的”,要么把compare()
包装到另一个定义了一个\u列表和b\u列表的函数中,然后只把索引传递到函数中。。。最后但并非最不重要的一点是将它实现为一个类,并将a_list和b_list存储为属性,并将compare()
作为类的一个方法,该类接受默认索引为0的索引。你知道吗相关问题 更多 >
编程相关推荐