第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Python 遍歷打開的文件

Python 遍歷打開的文件

智慧大石 2023-04-25 16:19:36
我正在嘗試計(jì)算“The”一詞在文本中出現(xiàn)的次數(shù)(大致)。book1 = 'imitation_of_christ.txt'book2 = 'jesus_of_history.txt'with open(book1, encoding='utf-8') as book1:    lines = book1.readlines()    word = 'the '    times = lines.count(word)    for line in lines:        times += line.count(word)    print (f"The word '{word}'' appears roughly {times} times in {book1}.")我已經(jīng)編寫了代碼,但我不明白為什么我需要“時(shí)間”變量來完成這項(xiàng)工作?我試圖刪除它,但它說了 0 次。有沒有更有效的方法來做我正在做的事情?謝謝
查看完整描述

2 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

由于lines是一個(gè)列表,lines.count(word)因此返回正好等于 的行數(shù)word。這是0出于兩個(gè)原因:

  1. 全部返回的字符串以readlines()換行符結(jié)尾(可能最后一行除外)。由于word不以換行符結(jié)尾,因此它永遠(yuǎn)不會(huì)完全匹配它們中的任何一個(gè)。

  2. 即使您刪除了換行符,您也是在將單個(gè)單詞與整行進(jìn)行比較。因此,除非文件每行包含一個(gè)單詞,單詞后有一個(gè)空格,否則 的元素lines永遠(yuǎn)不會(huì)完全匹配word

另一方面,由于line是單個(gè)字符串,因此計(jì)算該匹配項(xiàng)line.count(word)的子字符串?dāng)?shù)。該循環(huán)將文件所有行中的子字符串?dāng)?shù)相加。linewordfor

請(qǐng)注意,如果您確實(shí)有一行只包含"the ",您的代碼將對(duì)該單詞計(jì)數(shù)兩次。沒必要做

times = lines.count(word)

在循環(huán)之前。你應(yīng)該只初始化times = 0.

您還可以使用以下sum()功能:

times = sum(line.count(word) for line in lines)


查看完整回答
反對(duì) 回復(fù) 2023-04-25
?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

這是一個(gè)非常簡單的方法來讀取整個(gè)文件并計(jì)算出現(xiàn)次數(shù):


book1 = 'imitation_of_christ.txt'

book2 = 'jesus_of_history.txt'


with open(book1, encoding='utf-8') as book1:

    book = book1.read()

    word = 'the '

    times = book.count(word)


    print (f"The word '{word}'' appears roughly {times} times in {book1}.")


查看完整回答
反對(duì) 回復(fù) 2023-04-25
  • 2 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)