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

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

 更新時(shí)間:2023年02月01日 08:39:20   作者:顏醬  
這篇文章主要為大家?guī)硪粋€(gè)簡(jiǎn)單的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)系
  • 字典就是對(duì)象,用dict()新建,注意dict({'a':1})必須要用引號(hào)括起來鍵
  • 字典獲取值的時(shí)候,鍵必須存在不然會(huì)報(bào)錯(cuò),一般用 xxDict.get('a',0)來獲取,這樣沒有就賦值0,有就獲取
  • 列表就是數(shù)組,用list()新建,注意不能獲取超過list長(zhǎng)度的索引,如果取局部的話xxList[0:10]這樣就行
  • 元組,在js中沒有,雖然ts中有,元組類似列表,但不能編輯,表示為(1,2),如果你的列表不需要編輯,就可以用元組替換
  • sorted可以排序的方法,排序數(shù)組、對(duì)象的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的簡(jiǎn)單數(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的話,需要賦值,不然讀的話會(huì)報(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ù)對(duì)應(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字典會(huì)返回元組列表 [('a', 1), ('b', 2)]
# print(a.items())


# sorted排序元組列表
# 將countDict變成元組列表,然后將k,v對(duì)調(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

泗阳县| 正蓝旗| 紫金县| 体育| 寿光市| 咸丰县| 邹平县| 定结县| 北川| 西和县| 湛江市| 武夷山市| 萍乡市| 呼玛县| 二手房| 闻喜县| 壤塘县| 什邡市| 江津市| 平度市| 东乡族自治县| 清涧县| 察雅县| 赤壁市| 无棣县| 嘉兴市| 台江县| 梅河口市| 阜平县| 雷波县| 阿巴嘎旗| 太原市| 文登市| 金山区| 东平县| 锦屏县| 桓仁| 于都县| 贵港市| 道真| 乌拉特前旗|