python统计文本字符串里单词出现频率

来源:网络时间:2018-03-06 16:04:55

  本文实例讲述了Python统计文本字符串里单词出现频率的方法。

python统计文本字符串里单词出现频率

  分享给大家供大家参考。具体实现方法如下:  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

# 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])

  希望本文所述对大家的Python程序设计有所帮助。 

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站) 联系邮箱:9145908@qq.com