在我的输出文件中只想要唯一的单词



我正在尝试编写一些代码,该代码接受一个输入文件,该文件是一段文本(该段有某些单词的副本),然后我想将该文本写入一个输出文件,但我不希望将单词的副本写入我的输出文件,只希望写入唯一的单词,这包括一个副本。

到目前为止,我似乎不知道如何只写独特的单词。

def unique_file(input_filename, output_filename):
    input_file = open(input_filename,'r')
    content = input_file.read()
    input_file.close()
    word_list = content.split()
    output_file = open(output_filename,'w')
    unique_list = []
        for words in word_list:
            if words not in unique_list:
                output_file.write(words + 'n')
                output_file.close

您可以使用set:

def unique_file(input_filename, output_filename):
    input_file = open(input_filename,'r')
    content = input_file.read()
    input_file.close()
    word_list = content.split()
    output_file = open(output_filename,'w')
    word_list = list(set(word_list))
    for word in word_list:
        output_file.write(words + 'n')
    output_file.close


如果您想使用not in,请执行:

word_list是具有重复的单词列表

unique_list = []
for word in word_list:
    if word not in unique_list:
        unique_list.append(word)
        output_file.write(word + 'n')
output_file.close()

只需执行:

word_list = [word.lower() for word in word_list]

然后:

list(set(word_list))

会给你一个独特的单词列表。Python的集合将自动消除重复项。做.lower()的原因是将Ballball视为相同的单词,并且只有其中一个。如果你想把它们当作两个单词,就去掉第一行。

相关内容

  • 没有找到相关文章

最新更新