Skip to main content
 首页 » 编程设计

python之使用循环从列表中查找所有唯一的单词

2025年05月04日11over140

我正在尝试根据从文本文件中获取的所有单词列表来制作一个唯一单词列表。我唯一的问题是用于迭代两个列表的算法。

def getUniqueWords(allWords): 
    uniqueWords = [] 
    uniqueWords.append(allWords[0]) 
    for i in range(len(allWords)): 
        for j in range(len(uniqueWords)): 
            if allWords[i] == uniqueWords[j]: 
                pass 
            else: 
                uniqueWords.append(allWords[i]) 
                print uniqueWords[j] 
    print uniqueWords 
    return uniqueWords 

如您所见,我创建了一个空列表并开始遍历两个列表。另外,我附加了列表中的第一项,因为出于某种原因它不会尝试匹配我假设的词。毕竟,在一个空列表中,list[0] 是不存在的。如果有人能帮我弄清楚如何正确地迭代这个,这样我就可以生成一个很棒的单词列表。

打印 uniqueWords[j] 只是为了调试,所以我可以看到在列表处理过程中出现了什么

请您参考如下方法:

我不是 Python 专家,但我认为这应该可行:

uniqueWords = []  
for i in allWords: 
      if not i in uniqueWords: 
          uniqueWords.append(i); 
 
return uniqueWords 

编辑:

我测试过它有效,它只返回列表中唯一的单词:

def getUniqueWords(allWords) : 
    uniqueWords = []  
    for i in allWords: 
        if not i in uniqueWords: 
            uniqueWords.append(i) 
    return uniqueWords 
 
print getUniqueWords(['a','b','c','a','b']); 

['a', 'b', 'c']