遇到问题。 (对即将到来的考试进行评审)。第一个问题要求我将每行文本中的单词数量打印到输出文件中。这是一项简单的任务。 (提供我使用的代码)。另一个类似的问题是,打印每行文本中唯一单词的数量(计数)。我能得到的最远的是将单词附加到列表中,并打印列表的长度......但它最终会添加每次迭代。所以它会打印7,14,21。而不是7,7,7(仅作为一个例子,以帮助exapain)我将如何修复此代码以正常行为?我一直在尝试最后30分钟。任何帮助将不胜感激!
每行中单词数量的代码:
def uniqueWords(inFile,outFile):
inf = open(inFile,'r')
outf = open(outFile,'w')
for line in inf:
wordlst = line.split()
count = len(wordlst)
outf.write(str(count)+'\n')
inf.close()
outf.close()
uniqueWords('turn.txt','turnout.txt')
每行中唯一字数(失败)的代码:
def uniqueWords(inFile,outFile):
inf = open(inFile,'r')
outf = open(outFile,'w')
unique = []
for line in inf:
wordlst = line.split()
for word in wordlst:
if word not in unique:
unique.append(word)
outf.write(str(len(unique)))
inf.close()
outf.close()
uniqueWords('turn.txt','turnout.txt')
答案 0 :(得分:2)
如果第一个有效,请尝试set
:
def uniqueWords(inFile,outFile):
inf = open(inFile,'r')
outf = open(outFile,'w')
for line in inf:
wordlst = line.split()
count = len(set(wordlst))
outf.write(str(count)+'\n')
inf.close()
outf.close()
uniqueWords('turn.txt','turnout.txt')