首页 > 解决方案 > str.endswith(suffix[, start, end]) 的机制是什么?

问题描述

我对如何startend工作感到非常困惑。我认为这个函数从第 th 元素开始计数,start然后在end第 th 元素之后的第 th 元素结束start。我的意思是,例如,如果我将startand定义end为 1 和 2,则应该查看元素 3。我错了:

a = "orange"
a.endswith("g", 0, 5)

返回True

a = "orange"
a.endswith("g", 1, 5)

也返回True。任何解释表示赞赏!

标签: python

解决方案


我的意思是,例如,如果我将 start 和 end 定义为 1 和 2,则该元素应该被视为 3。

start参数表示必须从字符串的开头跳过多少个字符。到目前为止还好。正如 Mark Meyer 所指出的,该end参数不表示从起始字符开始的长度,而是表示源字符串中结束字符(排除)的索引,就像切片一样。


推荐阅读