資料來源: https://docs.python.org/3/library/stdtypes.html#str.find
![Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221122100657_32.png)
data.txt:
I love you all. But you do love love me at all.\nYou always love Python.
程式碼:
filePath = r”C:\Python\myfind\data.txt”
def keywordIndexFromFile(patterns : str, filePath : str) -> list:
with open(filePath,”r”) as f:
dataStr = f.read()
#print(dataStr)
lst=[]
idx = dataStr.find(patterns)
#lst=[ idx ]
while idx != -1:
#idxTmp = dataStr.find(patterns,idx+1)
lst.append( idx )
idx = dataStr.find(patterns,idx+1)
return lst
print(keywordIndexFromFile(“love”,filePath))
![Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221122101109_3.png)
參考解答:
![Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221122101727_51.png)
詞頻計算:
![Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221122111312_19.png)
# -*- coding: utf-8 -*-
from typing import Tuple
filePath = r”C:\Python\myfind\data.txt”
def keywordIndexFromFile(patterns : str,
filePath : str) -> Tuple[list[int],float]:
with open(filePath,”r”) as f:
dataStr = f.read()
#print(dataStr)
lst=[]
idx = dataStr.find(patterns)
#lst=[ idx ]
while idx != -1:
#idxTmp = dataStr.find(patterns,idx+1)
lst.append( idx )
idx = dataStr.find(patterns,idx+1)
lstAll = dataStr.split(” “)
#print(lstAll , len(lstAll))
termFrequency = len(lst) / len( lstAll )
return lst, termFrequency
lst, termFrequency = keywordIndexFromFile(“love”,filePath)
print(“Key word index:”,lst)
print(“詞頻: %.2f %%” %(termFrequency*100) )
![Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221122111354_84.png)
參考解答:
![Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221122111722_6.png)
改用**dict當作輸入參數:
![Python: 字串 str.find(關鍵字[,start][,end]),找不到的話回傳-1,如何找出資料字串中,所有關鍵字的index?詞頻計算 - 儲蓄保險王](https://savingking.com.tw/wp-content/uploads/2022/11/20221123083724_5.png)


![Python socket連線出現[WinError 10049] 內容中所要求的位址不正確 cmd.exe: ipconfig/all ; TCP/IPv4 vs IPv6 Python socket連線出現[WinError 10049] 內容中所要求的位址不正確 cmd.exe: ipconfig/all ; TCP/IPv4 vs IPv6](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2022/10/20221028151556_42.png?quality=90&zoom=2&ssl=1&resize=350%2C233)


![Python 進階技巧:海象運算子 (Walrus Operator) 實戰教學 [w_clean for w in words if (w_clean:=w.lower().strip()) and w_clean not in STOPWORDS] Python 進階技巧:海象運算子 (Walrus Operator) 實戰教學 [w_clean for w in words if (w_clean:=w.lower().strip()) and w_clean not in STOPWORDS]](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2026/02/20260210083748_0_a7d9bf.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python常用的模組內建常數; __name__ ; __file__ ; __doc__ ; __all__ ;__dict__; vars()->Dict[str,str] ; dir()->List[str] Python常用的模組內建常數; __name__ ; __file__ ; __doc__ ; __all__ ;__dict__; vars()->Dict[str,str] ; dir()->List[str]](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2022/11/20221112184006_50.png?quality=90&zoom=2&ssl=1&resize=350%2C233)



近期留言