我需要比较一个程序中的两个列表,看看是否有匹配的字符串。其中一个是我已导入的txt文档。多数民众赞成在做什么
def compareLists(self, listA, listB):
sameWords = list()
for a in xrange(0,len(listA)):
for b in xrange(0,len(listB)):
if listA[a] == listB[b]:
sameWords.append(listA[a])
pass
pass
pass
return sameWords
但是,如果我运行该程序,它不显示任何匹配,虽然我知道必须有一个。我认为它位于if块内。
答案 0 :(得分:1)
我假设你的代码中的缩进是正确的。继续您的策略,此代码应该有效。
def compareLists(self, listA, listB):
sameWords = list()
for a in xrange(0,len(listA)):
for b in xrange(0,len(listB)):
if listA[a] == listB[b]:
sameWords.append(listA[a])
return sameWords
或者,正如@Efferalgan建议的那样,只需设置交集。
def compareLists(self, listA, listB):
return list(set(listA) & set(listB))
注意:设置的交集将从结果中删除重复的匹配单词。
正如你所说,你正在阅读文本文件中的行,看起来新行仍在那里。
my_text_list = [s for s in open("my_text.txt").read().rsplit()]