str.index() Find (raises if missing)

Last updated: 2026-09-22

str.index() Find (raises if missing)

str.index(sub) is like find(), but raises ValueError when not found.

CategoryString Methods
KindBuilt-in Type Method
Python Versionall

📝 Syntax

str.index(sub[, start[, end]])

⚙️ Parameters

sub RequiredThe substring to search for.
start OptionalStart index of the range (inclusive); None means the beginning.(Default:None)
end OptionalEnd index of the range (exclusive); None means the end.(Default:None)

Returns:int. The lowest index where sub is found; raises ValueError if absent.

Mutates the original:No (returns a new object)

💥 Raises

▶ Example

Edit the code, press Run, and see the result in the output panel:

Output:

2
not found: substring not found
More case studies coming soon — check back later.

❓ FAQ

QWhat is the difference between index() and find()?
ATheir behavior is almost identical, with one difference: when not found, find() returns -1 while index() raises ValueError: substring not found.
QWhen should I use index()?
AUse index() when the substring "must exist" and not finding it is a logic error, so the exception exposes the problem immediately; otherwise find() is safer.
QHow do I avoid index() raising an exception?
ACheck with in first: if 'll' in s: print(s.index('ll')); or catch ValueError with try/except.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏