這篇文章主要介紹了Python實現統計單詞出現的個數,本文給出了實現代碼以及使用方法,需要的朋友可以參考下
最近在看python腳本語言,腳本語言是一種解釋性的語言,不需要編譯,可以直接用,由解釋器來負責解釋。python語言很強大,而且寫起來很簡潔。下面的一個例子就是用python統計單詞出現的個數。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import sys import string #import collections if len(sys.argv) == 1 or sys.argv[1] in {"-h", "--help"}: print("usage: uniqueword filename_1 filename_2 ... filename_n") sys.exit() else: words = {} # words = collections.defaultdict(int) strip = string.whitespace + string.punctuation + string.digits + ""'" for filename in sys.argv[1:]: for line in open(filename): for word in line.split(): word = word.strip(strip) if len(word) >= 2: words[word] = words.get(word, 0) + 1 # words[word] += 1 for word in sorted(words): print("'{0}' occurs {1} times".format(word,words[word]))假設文件名是 uniqueword.py,在命令行下輸入: uniqueword.py filename_1 filename_2 ... filename_n中單詞出現的次數可以被統計出來。
第四行和第五行判斷是否有輸入參數,如果輸入參數為空或者為-h, -help,則輸出幫助信息。
從第七行到第14行是核心部分,逐一打開參數中指定的文件,並讀取每一行,再用字符串的split方法把讀取的行抽取出一個一個的單詞,但單詞長度大於2的時候,把此單詞加入到字典words中。 其中words.get(word, 0)的意思是取出key等於word的value,如果key為空,則把value置為默認值0. 最後打印出結果。