我正在尝试编写一些代码,该代码接受一个输入文件,该文件是一段文本(该段有某些单词的副本),然后我想将该文本写入一个输出文件,但我不希望将单词的副本写入我的输出文件,只希望写入唯一的单词,这包括一个副本。
到目前为止,我似乎不知道如何只写独特的单词。
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()
的原因是将Ball
和ball
视为相同的单词,并且只有其中一个。如果你想把它们当作两个单词,就去掉第一行。