为什么Python中的find方法如果没有找到str就返回-1

问题描述 投票:0回答:3

我是Python初学者。 在

str.find(sub)
方法中,如果未找到
-1
,此查找方法将返回
sub
。 我想知道为什么返回
-1
而不是
0
1
或其他数字或 Nonetype。 为什么所有事情都返回了
-1

python methods find
3个回答
0
投票

在Python中,字符串的索引为0,这意味着变量名称的第一个元素可以通过

var_name[0]
访问。返回 0 意味着已从位置 0 开始找到该字符串。而 -1 则告诉我们尚未找到该字符串。


0
投票

字符串只是一个字符数组。方法

find
将返回数组(字符串)中匹配的第一个索引。数组从
0
开始,其中零是数组(字符串)中的第一项。
-1
只是代表
Not Found
并避免与索引
0
(或任何大于零的值)混淆


0
投票

我有这个完全相同的问题,并且我有一个令人满意的答案。

首先想到这一点,任何整数都可以写成 1 并且它仍然是相同的数字。 3 == 3/1

考虑到这一点,将 -1 返回视为等效的 'string[-1:]' 如果作为打印命令执行,则不会返回任何内容。 即 print(string[-1:-1]) 打印:(什么也没有)哈哈

© www.soinside.com 2019 - 2024. All rights reserved.