str.index() Localizar substring (erro se não encontrar)
Última atualização: 2026-09-22
str.index() Localizar substring (erro se não encontrar)
str.index(sub) é semelhante a find(), mas lança ValueError se não encontrar.
| Categoria | Métodos de string |
|---|---|
| Tipo | Método de tipo interno |
| Versão do Python | all |
📝 Sintaxe
str.index(sub[, start[, end]])
⚙️ Parâmetros
| sub Obrigatório | The substring to search for. |
|---|---|
| start Opcional | Start index of the range (inclusive); None means the beginning.(Padrão:None) |
| end Opcional | End index of the range (exclusive); None means the end.(Padrão:None) |
Retorno:int. The lowest index where sub is found; raises ValueError if absent.
Modifica o original:Não (retorna um novo objeto)
💥 Exceções
ValueError— Raised when sub is not found in the range.
▶ Exemplo
Edite o código, clique em Executar e veja o resultado no painel de saída:
Saída:
2
not found: substring not found
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
❓ Perguntas frequentes
QQual é a diferença entre index() e find()?
AO comportamento é quase idêntico, com uma diferença: quando não encontra, find() retorna -1 enquanto index() lança ValueError: substring not found.
QQuando devo usar index()?
AUse index() quando a subsequência "deve existir" e não encontrá-la é um erro de lógica, para que a exceção exponha imediatamente o problema; caso contrário, find() é mais seguro.
QComo evito que index() lance uma exceção?
AVerifique antes com in: if 'll' in s: print(s.index('ll')); ou capture ValueError com try/except.