【发布时间】:2017-04-28 21:05:53
【问题描述】:
问题: 使用 infile 和 outfile 我正在尝试为 infile 中的每一行写入 outfile 唯一单词和频率。例如,给定“一条鱼两条鱼”,输出将是一:1 二:1 鱼:2(顺序无关紧要。)我能够成功地做到这一点,但是使用了我没有教过的东西班级。即set函数,自动取列表中的唯一词。
我的问题: 有没有其他方法可以在不使问题过于复杂的情况下实现相同的输出?我想也许可以将单词附加到列表中,但我无法让它工作。感谢您提供任何和所有帮助!
我使用 set 函数的工作代码。
def wordsByLine(inFile,outFile):
inF=open(inFile,'r')
outF=open(outFile,'w')
for line in inF:
wordlst=line.split()
uniquewordlst=set(wordlst)
for word in uniquewordlst:
outF.write(word+':'+str(line.count(word))+' ')
outF.write('\n')
outF.close()
inF.close()
wordsByLine('fish.txt','fishWords.txt')
文件内:
一条鱼两条鱼
红鱼蓝鱼
输出文件:
鱼:2 一:1 二:1
鱼:2 红色:1 蓝色:1
【问题讨论】:
标签: python function file file-io