農會 資訊管理類程式設計110 年第 14 題單選題
在Python中,a="enthusiasm",下列那些結果為正確?
Aa.count("s") =2正確答案
Ba.rfind("s") =5
Ca.startswith("s") = TRUE
Da.find("s")=5正確答案
A、D正確答案
Python字串方法大考驗!搞懂find、rfind、count與startswith的索引計算與回傳值,秒殺字串搜尋題。
為什麼答案是 A、D
count()計算字元出現次數,'s'在索引5和8各出現一次,總計為2,敘述正確。
考點:count計數考點:rfind右搜尋考點:startswith檢查考點:find左搜尋
載入中…
完整詳解
Pro · 無限重點 Python字串方法大考驗!搞懂find、rfind、count與startswith的索引計算與回傳值,秒殺字串搜尋題。
寫出索引值0到9,數數看's'在哪。左邊第一個是5,右邊最後一個是8,總共2個,開頭是'e'不是's'。
逐選項分析
Acount計數✓ 正確
count()計算字元出現次數,'s'在索引5和8各出現一次,總計為2,敘述正確。
Brfind右搜尋✕ 陷阱
rfind()從右側尋找,最後一個's'位於索引8,而非5。選項數值錯誤,是常考陷阱。
Cstartswith檢查✕
startswith()檢查開頭字元,'enthusiasm'以'e'開頭,回傳False。且Python布林值為True而非TRUE。
Dfind左搜尋✓ 正確
find()從左側尋找,第一個's'位於索引5(e=0, n=1, t=2, h=3, u=4, s=5),結果正確。
Python 字串搜尋方法對照表
| 方法 | 功能說明 | 回傳值/特性 |
|---|
| find(sub) | 從左側尋找子字串 | 找到回傳最小索引,找不到回傳 -1 |
| rfind(sub) | 從右側尋找子字串 | 找到回傳最大索引,找不到回傳 -1 |
| count(sub) | 計運算元字串出現次數 | 回傳整數次數,找不到回傳 0 |
| startswith(prefix) | 檢查是否以特定字元開頭 | 回傳布林值 True 或 False |
rfind() 容易與 find() 混淆!rfind 是 reverse find,會回傳「最後一次」出現的索引值(本題為8),而非第一次(5)。另外,Python 的布林值為 True/False(首字母大寫),選項寫 TRUE 也是常見陷阱。