最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python找出文件中使用率最高的漢字實例詳解

 更新時間:2015年06月03日 11:57:36   作者:xm1331305  
這篇文章主要介紹了Python找出文件中使用率最高的漢字,涉及Python針對字符串與中文的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python找出文件中使用率最高的漢字的方法。分享給大家供大家參考。具體分析如下:

這是我初學Python時寫的,為了簡便,我并沒在排序完后再去掉非中文字符,稍微會影響性能(大約增加了25%的時間)。

# -*- coding: gbk -*- 
import codecs 
from time import time 
from operator import itemgetter 
def top_words(filename, size=10, encoding='gbk'): 
  count = {} 
  for line in codecs.open(filename, 'r', encoding): 
    for word in line: 
      if u'\u4E00' <= word <= u'\u9FA5' or u'\uF900' <= word <= u'\uFA2D': 
        count[word] = 1 + count.get(word, 0) 
  top_words = sorted(count.iteritems(), key=itemgetter(1), reverse=True)[:size] 
  print '\n'.join([u'%s : %s次' % (word, times) for word, times in top_words]) 
begin = time() 
top_words('空之境界.txt') 
print '一共耗時 : %s秒' % (time()-begin) 

如果想用上新方法,以及讓join的可讀性更高的話,這樣也是可以的:

# -*- coding: gbk -*- 
import codecs 
from time import time 
from operator import itemgetter 
from heapq import nlargest 
def top_words(filename, size=10, encoding='gbk'): 
  count = {} 
  for line in codecs.open(filename, 'r', encoding): 
    for word in line: 
      if u'\u4E00' <= word <= u'\u9FA5' or u'\uF900' <= word <= u'\uFA2D': 
        count[word] = 1 + count.get(word, 0) 
  top_words = nlargest(size, count.iteritems(), key=itemgetter(1)) 
  for word, times in top_words: 
    print u'%s : %s次' % (word, times) 
begin = time() 
top_words('空之境界.txt') 
print '一共耗時 : %s秒' % (time()-begin) 

或者讓行數(shù)更少(好囧的列表綜合):

# -*- coding: gbk -*- 
import codecs 
from time import time 
from operator import itemgetter 
def top_words(filename, size=10, encoding='gbk'): 
  count = {} 
  for word in [word for word in codecs.open(filename, 'r', encoding).read() if u'\u4E00' <= word <= u'\u9FA5' or u'\uF900' <= word <= u'\uFA2D']: 
    count[word] = 1 + count.get(word, 0) 
  top_words = sorted(count.iteritems(), key=itemgetter(1), reverse=True)[:size] 
  print '\n'.join([u'%s : %s次' % (word, times) for word, times in top_words]) 
begin = time() 
top_words('空之境界.txt') 
print '一共耗時 : %s秒' % (time()-begin) 

此外還可以引入with語句,這樣只需一行就能獲得異常安全性。
3者性能幾乎一樣,結(jié)果如下:

的 : 17533次
是 : 8581次
不 : 6375次
我 : 6168次
了 : 5586次
一 : 5197次
這 : 4394次
在 : 4264次
有 : 4188次
人 : 4025次
一共耗時 : 0.5秒

引入psyco模塊的成績:

的 : 17533次
是 : 8581次
不 : 6375次
我 : 6168次
了 : 5586次
一 : 5197次
這 : 4394次
在 : 4264次
有 : 4188次
人 : 4025次
一共耗時 : 0.280999898911秒

 

注:測試文件為778KB的GBK編碼,40余萬字。

希望本文所述對大家的Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python基于LightGBM進行時間序列預測

    Python基于LightGBM進行時間序列預測

    LightGBM是擴展機器學習系統(tǒng)。是一款基于GBDT(梯度提升決策樹)算法的分布梯度提升框架。其設(shè)計思路主要集中在減少數(shù)據(jù)對內(nèi)存與計算性能的使用上,以及減少多機器并行計算時的通訊代價。本文將通過LightGBM進行時間序列預測,感興趣的可以了解一下
    2022-03-03
  • PyTorch中的參數(shù)類torch.nn.Parameter()詳解

    PyTorch中的參數(shù)類torch.nn.Parameter()詳解

    這篇文章主要給大家介紹了關(guān)于PyTorch中torch.nn.Parameter()的相關(guān)資料,要內(nèi)容包括基礎(chǔ)應用、實用技巧、原理機制等方面,文章通過實例介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • 詳解基于K-means的用戶畫像聚類模型

    詳解基于K-means的用戶畫像聚類模型

    這篇文章主要介紹了基于K-means的用戶畫像聚類模型,本文中就是使用one-hot思想將不同維度的數(shù)據(jù)利用字典映射的方式將其轉(zhuǎn)化為數(shù)據(jù)向量,需要的朋友可以參考下
    2022-05-05
  • 安裝Python的web.py框架并從hello world開始編程

    安裝Python的web.py框架并從hello world開始編程

    這篇文章主要介紹了安裝Python的web.py框架并從hello world開始編程,web.py的作者年輕的Aaron Swartz已經(jīng)離世,緬懷大神,需要的朋友可以參考下
    2015-04-04
  • Python學習之函數(shù)的定義與使用詳解

    Python學習之函數(shù)的定義與使用詳解

    函數(shù)是具有某種特定功能的代碼塊,可以重復使用(在前面數(shù)據(jù)類型相關(guān)章節(jié)。它使得我們的程序更加模塊化,不需要編寫大量重復的代碼。本文將詳細介紹Python中函數(shù)的定義與使用,感興趣的可以學習一下
    2022-03-03
  • 手把手教你Python抓取數(shù)據(jù)并可視化

    手把手教你Python抓取數(shù)據(jù)并可視化

    很多小伙伴在提到python數(shù)據(jù)可視化的時候第一反應就是matplotlib庫,但實際上python還有很多很好用的數(shù)據(jù)可視化的庫,下面這篇文章主要給大家介紹了關(guān)于如何利用Python抓取數(shù)據(jù)并可視化的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python2.7下安裝Scrapy框架步驟教程

    Python2.7下安裝Scrapy框架步驟教程

    本篇文章主要介紹了Python2.7下安裝Scrapy框架步驟教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Python箱型圖處理離群點的例子

    Python箱型圖處理離群點的例子

    今天小編就為大家分享一篇Python箱型圖處理離群點的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 使用pymysql查詢數(shù)據(jù)庫,把結(jié)果保存為列表并獲取指定元素下標實例

    使用pymysql查詢數(shù)據(jù)庫,把結(jié)果保存為列表并獲取指定元素下標實例

    這篇文章主要介紹了使用pymysql查詢數(shù)據(jù)庫,把結(jié)果保存為列表并獲取指定元素下標實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Ubuntu中安裝指定Python版本方法詳解(理論上各版本通用)

    Ubuntu中安裝指定Python版本方法詳解(理論上各版本通用)

    現(xiàn)在基于linux的發(fā)行版本有很多,有centos,ubuntu等,一般基于linux的衍生系統(tǒng)至少都安裝了Python2版本,但是現(xiàn)在Python已經(jīng)是3.x版本大行其道了,這篇文章主要給大家介紹了關(guān)于Ubuntu中安裝指定Python版本方法的相關(guān)資料,理論上各版本通用,需要的朋友可以參考下
    2023-06-06

最新評論

临潭县| 兴安县| 德阳市| 台中县| 沾化县| 宜兰县| 延庆县| 高雄县| 湖南省| 昭通市| 孝感市| 海阳市| 松阳县| 澎湖县| 河北区| 丰镇市| 玛纳斯县| 克山县| 武清区| 邓州市| 微山县| 上犹县| 兴安盟| 平凉市| 贵港市| 文化| 永济市| 龙海市| 台中市| 咸阳市| 清涧县| 绥滨县| 德钦县| 乐陵市| 民权县| 吉首市| 崇阳县| 将乐县| 上犹县| 柳林县| 正蓝旗|