python統計文本字符串里面單詞出現的頻率

pykde 9年前發布 | 2K 次閱讀 Python

python統計文本字符串里面單詞出現的頻率

# word frequency in a text

tested with Python24 vegaseat 25aug2005

Chinese wisdom ...

str1 = """Man who run in front of car, get tired. Man who run behind car, get exhausted.""" print "Original string:" print str1

print

create a list of words separated at whitespaces

wordList1 = str1.split(None)

strip any punctuation marks and build modified word list

start with an empty list

wordList2 = [] for word1 in wordList1:

# last character of each word
lastchar = word1[-1:]
# use a list of punctuation marks
if lastchar in [",", ".", "!", "?", ";"]:
    word2 = word1.rstrip(lastchar)
else:
    word2 = word1
# build a wordList of lower case modified words
wordList2.append(word2.lower())

print "Word list created from modified string:" print wordList2

print

create a wordfrequency dictionary

start with an empty dictionary

freqD2 = {} for word2 in wordList2: freqD2[word2] = freqD2.get(word2, 0) + 1

create a list of keys and sort the list

all words are lower case already

keyList = freqD2.keys() keyList.sort()

print "Frequency of each word in the word list (sorted):" for key2 in keyList: print "%-10s %d" % (key2, freqD2[key2])</pre>

 本文由用戶 pykde 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!