"str.contains(part)" or alternatives?
Stefan Schwarzer
sschwarzer at sschwarzer.net
Thu Sep 12 16:01:32 EDT 2002
Hi Skip
Skip Montanaro wrote:
> >>> try:
> ... s.index('ll')
> ... do_something_if_found()
> ... except ValueError:
> ... do_something_if_not_found()
>
> Stefan> This has the problem that a ValueError raised in
> Stefan> do_something_if_found() may give the false impression that the
> Stefan> substring isn't contained in the string s.
>
> I try to minimize the amount of code executed in try blocks.
Me too. That above was only a (bad) example. ;-)
> Use this instead:
>
> try:
> s.index('ll')
> except ValueError:
> do_something_if_not_found()
> else:
> do_something_if_found()
I just read today in the Python Cookbook that this syntax is valid. I never saw
it in Python code (not meaning that I believe it doesn't exist :) ).
As a side note, I remembered then that there are also "else"-Forms of the while
and the for loop which are executed when the loop is left via break (IIRC).
Thank you (and all others) for their answers. I didn't expect to get so many.
Btw, Greg, the .count approach is much nicer than ".find != -1".
Stefan
More information about the Python-list
mailing list