我是Python初学者。 在
str.find(sub)
方法中,如果未找到 -1
,此查找方法将返回 sub
。
我想知道为什么返回 -1
而不是 0
、1
或其他数字或 Nonetype。
为什么所有事情都返回了-1
?
在Python中,字符串的索引为0,这意味着变量名称的第一个元素可以通过
var_name[0]
访问。返回 0 意味着已从位置 0 开始找到该字符串。而 -1 则告诉我们尚未找到该字符串。
字符串只是一个字符数组。方法
find
将返回数组(字符串)中匹配的第一个索引。数组从 0
开始,其中零是数组(字符串)中的第一项。 -1
只是代表 Not Found
并避免与索引 0
(或任何大于零的值)混淆
我有这个完全相同的问题,并且我有一个令人满意的答案。
首先想到这一点,任何整数都可以写成 1 并且它仍然是相同的数字。 3 == 3/1
考虑到这一点,将 -1 返回视为等效的 'string[-1:]' 如果作为打印命令执行,则不会返回任何内容。 即 print(string[-1:-1]) 打印:(什么也没有)哈哈