簡體   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