繁体   English   中英

比较两个列表(python)

[英]compare two lists (python)

我需要比较程序中的两个列表以查看是否有匹配的字符串。 其中之一是我已经导入的 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 块内的某个地方。

我假设您的代码中的缩进是正确的。 继续你的策略,这段代码应该可以工作。

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()]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM