【发布时间】:2016-10-12 01:45:55
【问题描述】:
我试图让这个 python 代码摆脱与单词相关的标点符号并计算唯一单词。出于某种原因,它仍然计算“你好”。和“你好”。非常感激任何的帮助。
def word_distribution(words):
word_dict = {}
words = words.lower()
words = words.split()
for word in words:
if ord('a') <= ord(word[-1]) <= ord('z'):
pass
elif ord('A') <= ord(word[-1]) <= ord('Z'):
pass
else:
word[:-1]
word_dict = {word:words.count(word)+1 for word in set(words)}
return(word_dict)
【问题讨论】:
-
问题比这更深,但首先,
word[:-1]本身并没有做任何事情,因为它没有分配给任何变量。 -
我正在使用 x='Hello My Name Is hello。'我希望从函数中得到这个-> {'hello': 2, 'is': 1, 'my': 1, 'name': 1}
-
老实说,我会删除你为删除标点而写的所有内容,并使用这篇文章中的解决方案:stackoverflow.com/questions/265960/… 要计算单词,请使用 Counter 类:docs.python.org/2/library/collections.html#collections.Counter
标签: python