我有一个来自文本文件的字频数的python代码。该程序的问题在于它需要考虑到全速,因此改变了计数。为了计算单词,我使用了一个排序的单词列表。我试图使用
删除fullstop words = open(f, 'r').read().lower().split()
uniqueword = sorted(set(words))
uniqueword = uniqueword.replace(".","")
但我得到错误
AttributeError: 'list' object has no attribute 'replace'
任何帮助将不胜感激:)
答案 0 :(得分:1)
您可以在使用列表理解之前处理set
之前的单词:
words = [word.replace(".", "") for word in words]
您也可以在(uniquewords = [word.replace...]
)之后删除它们,但之后您将重新引入重复项。
请注意,如果您想计算这些字数,Counter
可能更有用:
from collections import Counter
counts = Counter(words)
答案 1 :(得分:1)
可能会更好
words = re.findall(r'\w+', open(f, 'r').read().lower())
将抓取由一个或多个“单词字符”组成的所有字符串,并忽略标点符号和空格。