欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python入門案例之找出文件中出現(xiàn)次數(shù)最多的10個(gè)單詞

 更新時(shí)間:2023年02月01日 08:39:20   作者:顏醬  
這篇文章主要為大家?guī)硪粋€(gè)簡單的Python入門案例——找出文件中出現(xiàn)次數(shù)最多的10個(gè)單詞,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下

最近有點(diǎn)需求,在看python的入門基礎(chǔ),看完入門基礎(chǔ)之后,跟著練習(xí),找到文件中出現(xiàn)次數(shù)最多的10個(gè)單詞,以此熟悉語法。

語法概要

mac電腦命令行輸入python3,回車可以執(zhí)行語句,exit()退出 python3 xx.py可以執(zhí)行文件。

  • 初始賦值,一般用None
  • 聲明變量不需要任何多余,沒有var/const巴拉巴拉
  • 語法用:表示一起,縮進(jìn)表示嵌套關(guān)系
  • 字典就是對象,用dict()新建,注意dict({'a':1})必須要用引號括起來鍵
  • 字典獲取值的時(shí)候,鍵必須存在不然會報(bào)錯(cuò),一般用 xxDict.get('a',0)來獲取,這樣沒有就賦值0,有就獲取
  • 列表就是數(shù)組,用list()新建,注意不能獲取超過list長度的索引,如果取局部的話xxList[0:10]這樣就行
  • 元組,在js中沒有,雖然ts中有,元組類似列表,但不能編輯,表示為(1,2),如果你的列表不需要編輯,就可以用元組替換
  • sorted可以排序的方法,排序數(shù)組、對象的key、元組,通常排序?qū)ο蟮臅r(shí)候,如果需要排序value的話,可以用sorted(([(v,k) for (k,v) in xxDict.items()]))快速得到排序后的元組列表,從大到小的話,第二參數(shù)加上reverse=True
  • 打開文件open(filepath),但返回值不是字符串,需要for line in open(filepath),拿到每行的文本
  • 字符串變成數(shù)組,用split,默認(rèn)分隔符是空格
  • try: expect: 關(guān)鍵語句,記得捕獲錯(cuò)誤,需要的話退出程序quit()

代碼

# 本文件是獲取 任意文件里出現(xiàn)次數(shù)前10的word
# 借此學(xué)習(xí)python的簡單數(shù)據(jù)結(jié)構(gòu)
# python3 xx.py 執(zhí)行就可以
filename = input('文件的路徑:')
# 這里用戶輸入的文件路徑可能打不開,所以try下,如果出錯(cuò),程序退出
try:
  # 打開文件,獲取文件手柄
  handle = open(filename)
except:
  print('File Cannot be opened',filename)
  quit()

countDict = dict()
# 遍歷文件的每行,line就是每行的字符串
for line in handle:
  # 空格為分隔符,得到每行的單詞列表
  words = line.split()
  # 遍歷每行的單詞列表,word是每個(gè)單詞
  for word in words:
    # 此行相當(dāng)于,沒有key的話,新建key取0,有的話返回
    countDict[word] = countDict.get(word,0) + 1
    # 等同于
    # # word沒出現(xiàn)在dic的話,需要賦值,不然讀的話會報(bào)錯(cuò)
    # if word not in countDict :
    #   countDict[word] = 0
    # # 處理完之后,都加1
    # countDict[word] = countDict[word] + 1
# 得到各單詞出現(xiàn)的次數(shù)字典
# print(countDict)

# 最大出現(xiàn)的次數(shù)
bigCount = None
# 最大出現(xiàn)的次數(shù)對應(yīng)的word
bigKey = None
# 遍歷字典,key就是word,value就是次數(shù)
for word in countDict:
  count = countDict[word]
  # 注意None的情況和大于的情況都需要賦值
  if bigCount is None or count>bigCount:
      bigCount = count
      bigKey = word
# print(bigCount)
# print(bigKey)

# python的字典key必須是字符串包裹
# a = dict({'a':1,'b':2})
# items字典會返回元組列表 [('a', 1), ('b', 2)]
# print(a.items())


# sorted排序元組列表
# 將countDict變成元組列表,然后將k,v對調(diào),變成新元組列表
sortList = sorted(([(count,word) for (word,count) in countDict.items()]),reverse=True)
# 等同于以下
# # 裝(value,key)的list
# tempList = list()
# # 遍歷countDict.items(),能同時(shí)獲取key,value
# for (word,count) in countDict.items():
#   # key value調(diào)換下位置
#   newTuple = (count,word)
#   # 裝進(jìn)tempList
#   tempList.append(newTuple)
# # sorted 排序元組的時(shí)候,先按照元組的第一項(xiàng)排序,這邊就是按照count排序,且從大到小
# sortList = sorted(tempList,reverse=True)
# 取前10
tenList = sortList[0:10]

# 還需要將key和value反轉(zhuǎn)回來
resDict = dict()
for (count,word) in tenList:
  resDict[word] = count

print(resDict)

到此這篇關(guān)于Python入門案例之找出文件中出現(xiàn)次數(shù)最多的10個(gè)單詞的文章就介紹到這了,更多相關(guān)Python找出文件出現(xiàn)次數(shù)最多單詞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python繪圖實(shí)現(xiàn)坐標(biāo)軸共享與復(fù)用詳解

    Python繪圖實(shí)現(xiàn)坐標(biāo)軸共享與復(fù)用詳解

    這篇文章主要為大家詳細(xì)介紹了Python在繪圖時(shí)如何實(shí)現(xiàn)坐標(biāo)軸共享與復(fù)用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • sqlalchemy對象轉(zhuǎn)dict的示例

    sqlalchemy對象轉(zhuǎn)dict的示例

    這篇文章主要介紹了sqlalchemy對象轉(zhuǎn)dict的示例,需要的朋友可以參考下
    2014-04-04
  • 關(guān)于Python的json字符串與json模塊解讀

    關(guān)于Python的json字符串與json模塊解讀

    這篇文章主要介紹了關(guān)于Python的json字符串與json模塊解讀,JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C,?C++,?C#,?Java,?JavaScript,?Perl,?Python等),這些特性使JSON成為理想的數(shù)據(jù)交換語言,需要的朋友可以參考下
    2023-07-07
  • Matplotlib 生成不同大小的subplots實(shí)例

    Matplotlib 生成不同大小的subplots實(shí)例

    今天小編就為大家分享一篇Matplotlib 生成不同大小的subplots實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 基于Python實(shí)現(xiàn)新年倒計(jì)時(shí)

    基于Python實(shí)現(xiàn)新年倒計(jì)時(shí)

    眼看馬上春節(jié)就要來臨了,所以滿懷期待的寫了一個(gè)Python新年倒計(jì)時(shí)的小工具!文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • pandas統(tǒng)計(jì)重復(fù)值次數(shù)的方法實(shí)現(xiàn)

    pandas統(tǒng)計(jì)重復(fù)值次數(shù)的方法實(shí)現(xiàn)

    這篇文章主要介紹了pandas統(tǒng)計(jì)重復(fù)值次數(shù)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Numpy中arange()的用法及說明

    Numpy中arange()的用法及說明

    Numpy的arange()函數(shù)用于在指定間隔內(nèi)生成均勻間隔的數(shù)組,它接受開始值、停止值和步長來創(chuàng)建數(shù)組,返回的是ndarray類型,如果沒有提供dtype,則會根據(jù)其他參數(shù)推斷數(shù)據(jù)類型,對于浮點(diǎn)類型參數(shù),結(jié)果數(shù)組的長度計(jì)算方式為ceil((stop-start)/step)
    2024-10-10
  • Python 變量命名規(guī)則和定義變量詳解

    Python 變量命名規(guī)則和定義變量詳解

    這篇文章主要為大家介紹了Python 變量命名規(guī)則和定義變量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • python 實(shí)現(xiàn)多進(jìn)程日志輪轉(zhuǎn)ConcurrentLogHandler

    python 實(shí)現(xiàn)多進(jìn)程日志輪轉(zhuǎn)ConcurrentLogHandler

    這篇文章主要介紹了python 實(shí)現(xiàn)多進(jìn)程日志輪轉(zhuǎn)ConcurrentLogHandler,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 淺談Python類的單繼承相關(guān)知識

    淺談Python類的單繼承相關(guān)知識

    本文給大家介紹面向?qū)ο笕刂焕^承Inheritance的相關(guān)知識,通過示例代碼給大家介紹了繼承、貓類、狗類不用寫代碼,直接繼承了父類的屬性和方法,具體實(shí)現(xiàn)代碼跟隨小編一起看看吧
    2021-05-05

最新評論