如何删除文档中的重复项?

时间:2015-03-12 04:24:36

标签: python python-3.x

我正在写一个单词不公平的程序。这是我的代码:

import collections

sortedWords = collections.defaultdict(list)

with open("/xxx/xxx/words.txt", "r") as f: 
    for word in f:
        word = word.strip().lower()
        sortFword = ''.join(sorted(word))
        sortedWords[sortFword].append(word)

while True:
    jumble = input("Enter your jumbled word:").lower()
    sortedJumble = ''.join(sorted(jumble))

    if sortedJumble in sortedWords:
        words = sortedWords[sortedJumble]
        if len(words) > 1:
            print ("Your words are: ")
            print ("\n".join(words))
        else:
            print ("Your word is", words[0]+".")
        break

    else:
        print ("Oops, it can not be unjumbled.")
        break

现在这些代码工作了。但是,我的程序通常打印两个相同的单词。例如,我输入" prisng"作为一个混乱的词,然后我得到两个"春天" s。这是因为在word文档中有两个" spring" s:#34; spring"而另一个是" Spring"。我想删除words.txt的所有重复项,但是如何删除它们?请给我一些建议。

1 个答案:

答案 0 :(得分:1)

您可以使用内置set功能执行此操作。

words = ['hi', 'Hi']
words = list(map(lambda x: x.lower(), words)) # makes all the words lowercase
words = list(set(words)) # removes all duplicates