[英]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.