我的任务是编写一个计算文本中唯一单词的程序。我有一个代码计算每个单词出现的次数。但我的代码不区分小写和大写字母。我需要一个代码来计算单词(例如)“我们”和“我们”作为不同的单词,而不是相同。这是我的代码
import string
import sys
words = {}
strip = string.whitespace + string.punctuation + string.digits + "\"'"
filename = 'input.txt'
for line in open('input.txt'):
for word in line.lower().split():
word = word.strip(strip)
if len(word) >= 1:
words[word] = words.get(word, 0) + 1
for word in str.split(''):
print word
for word in sorted(words):
print("{0} {1} ".format(word, words[word]))
答案 0 :(得分:1)
好
for word in line.lower().split():
表示将每个字符转换为小写等效字符,然后将其拆分为空格。如果您不想不区分大小写,那么
for word in line.split():
答案 1 :(得分:0)
删除lower()
中的line.lower().split()
来电。它会使你的算法区分大小写。
答案 2 :(得分:0)
有更好的方法可以将所有文本设置为小写,并使用Counter查看单词的数量来查看:
http://docs.python.org/2/library/collections.html#counter-objects
它会更强大,它会阻止你使用很多循环