日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

第三次作业(词频统计及其效能分析)

發(fā)布時(shí)間:2024/4/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三次作业(词频统计及其效能分析) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?博客開(kāi)頭給出自己的基本信息,格式建議如下:

  • 學(xué)號(hào)2017035107122;
  • 姓名:張煒一
  • 碼云地址:https://gitee.com/weiyi1208/word_frequency

調(diào)用次數(shù)最多的

執(zhí)行時(shí)間最長(zhǎng)的

?

將文件讀入緩沖區(qū)(dst指文本文件存放路徑,設(shè)置成形參,也可以不設(shè),具體到函數(shù)里設(shè)置)

def process_file(dst): # 讀文件到緩沖區(qū)
try: # 打開(kāi)文件
txt=open(dst,"r")
except IOError as s:
print (s)
return None
try: # 讀文件到緩沖區(qū)
bvffer=txt.read()
except:
print ("Read File Error!")
return None
txt.close()
return bvffer

?

設(shè)置緩沖區(qū),將文本度數(shù)緩沖區(qū),并對(duì)文本的特殊符號(hào)進(jìn)行修改,使其更容易處理,并讀入字典。
def process_buffer(bvffer):
if bvffer:
word_freq = {}
# 下面添加處理緩沖區(qū) bvffer代碼,統(tǒng)計(jì)每個(gè)單詞的頻率,存放在字典word_freq
bvffer=bvffer.lower()
for x in '~!@#$%^&*()_+/*-+\][':
bvffer=bvffer.replace(x, " ")
words=bvffer.strip().split()
for word in words:
word_freq[word]=word_freq.get(word,0)+1
return word_freq

?

設(shè)置輸出函數(shù),運(yùn)用lambda函數(shù)對(duì)詞頻排序,并以“詞”——“頻”格式輸出
def output_result(word_freq):
if word_freq:
sorted_word_freq = sorted(word_freq.items(), key=lambda v: v[1], reverse=True)
for item in sorted_word_freq[:10]: # 輸出 Top 10 的單詞
print (item)

?

封裝main函數(shù),以便接下來(lái)的cProfile的性能評(píng)估
def main():

dst = "Gone_with_the_wind.txt"
bvffer = process_file(dst)
word_freq = process_buffer(bvffer)
output_result(word_freq)

if __name__ == "__main__":
import cProfile
import pstats
cProfile.run("main()", "result")
# 直接把分析結(jié)果打印到控制臺(tái)
p = pstats.Stats("result") # 創(chuàng)建Stats對(duì)象
p.strip_dirs().sort_stats("call").print_stats() # 按照調(diào)用的次數(shù)排序
p.strip_dirs().sort_stats("cumulative").print_stats() # 按執(zhí)行時(shí)間次數(shù)排序

?

本次作業(yè)使我學(xué)習(xí)了python中cProfile的使用方式,通過(guò)此次作業(yè)是我對(duì)如何減少軟件執(zhí)行時(shí)間有了新的想法。

轉(zhuǎn)載于:https://www.cnblogs.com/weiyi08/p/10616809.html

總結(jié)

以上是生活随笔為你收集整理的第三次作业(词频统计及其效能分析)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。