最近在看python腳本語言,腳本語言是一種解釋性的語言,不需要編譯,可以直接用,由解釋器來負(fù)責(zé)解釋。python語言很強(qiáng)大,而且寫起來很簡(jiǎn)潔。下面的一個(gè)例子就是用python統(tǒng)計(jì)單詞出現(xiàn)的個(gè)數(shù)。
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]))
假設(shè)文件名是 uniqueword.py,在命令行下輸入: uniqueword.py filename_1 filename_2 ... filename_n中單詞出現(xiàn)的次數(shù)可以被統(tǒng)計(jì)出來。
?
第四行和第五行判斷是否有輸入?yún)?shù),如果輸入?yún)?shù)為空或者為-h, -help,則輸出幫助信息。
從第七行到第14行是核心部分,逐一打開參數(shù)中指定的文件,并讀取每一行,再用字符串的split方法把讀取的行抽取出一個(gè)一個(gè)的單詞,但單詞長(zhǎng)度大于2的時(shí)候,把此單詞加入到字典words中。 其中words.get(word, 0)的意思是取出key等于word的value,如果key為空,則把value置為默認(rèn)值0. 最后打印出結(jié)果。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
