一、功能
startswith 是 Python 字符串对象的一个方法,用于检查字符串是否以指定的前缀开头
二、参数
str.startswith(prefix, start, end)
- prefix:要检查的前缀字符串。
- start (可选):开始检查的起始位置,默认为 0。
- end (可选):结束检查的结束位置,默认为字符串的长度。
三、使用举例:
如果字符串以指定的前缀开头,则返回 True,否则返回 False。例如:
str = "Hello, world!"
result = str.startswith("Hello")
print(result) # 输出 True
四、用在LeetCodet题目13. 罗马数字转整数中
LeetCode 题13 罗马数字转整数
class Solution:
def romanToInt(self, s: str) -> int:
Rlst, ans = [("M", 1000), ("CM", 900), ("D", 500), ("CD", 400), ("C", 100), ("XC", 90), ("L", 50), ("XL", 40), ("X", 10), ("IX", 9), ("V", 5), ("IV", 4), ("I", 1)], 0
for rs, rv in Rlst:
while s.startswith(rs):
ans += rv
s = s[len(rs):]
return ans
作者:_G_
链接:https://leetcode.cn/problems/roman-to-integer/solutions/2490728/zhi-jie-mo-ni-bian-li-ji-suan-by-admirin-gisa/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Rlst, ans = [("M", 1000), ("CM", 900), ("D", 500), ("CD", 400), ("C", 100), ("XC", 90), ("L", 50), ("XL", 40), ("X", 10), ("IX", 9), ("V", 5), ("IV", 4), ("I", 1)], 0
for rs, rv in Rlst:
匹配字典时会从左到右依次匹配,所以匹配CD时不会匹配到C
while s.startswith(rs):
ans += rv
s = s[len(rs):]
- startswith 方法用于检查字符串是否以指定的前缀开头。在这个代码片段中,s 是要检查的字符串,rs 是要检查的前缀。如果 s 以 rs 开头,则返回 True,否则返回 False。
- 将字典中对应的values加给ans
- 使用切片操作来更新字符串 s。在这里,s[len(rs):] 表示从索引 len(rs) 开始到字符串 s 的末尾的子字符串。这个操作将字符串 s 更新为其余部分,或者删除前面的部分。