<p>If accepted, think this could be:</p>
<p>1. Added as a tool in a std lib module.<br>
2. Allow startswith/endswith to accept a tuple.<br>
3. Added as another method to str.</p>
<p>I'm +1 for the first option.</p>
<p>Either way, there's an O(len_str + len_max_needle) algorithm for this: <a href="http://en.m.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm">http://en.m.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm</a> <br>

</p>
<div class="gmail_quote">On Sep 30, 2011 8:30 AM, "Tarek Ziadé" <<a href="mailto:ziade.tarek@gmail.com">ziade.tarek@gmail.com</a>> wrote:<br type="attribution">> Hey,<br>> <br>> not sure how people do this, or if I missed something obvious in the<br>
> stdlib, but I often have this pattern:<br>> <br>> starts = ('a', 'b', 'c')<br>> somestring = 'acapulco'<br>> <br>> for start in starts:<br>>     if somestring.startswith(start):<br>
>         print "yeah"<br>> <br>> <br>> So what about a startsin() method, that would iterate over a sequence:<br>> <br>> if somestring.startsin('a', 'b', 'c'):<br>>     print "yeah"<br>
> <br>> Implementing it in C should be faster as well<br>> <br>> same deal with .endswith I guess<br>> <br>> Cheers<br>> Tarek<br>> <br>> -- <br>> Tarek Ziadé | <a href="http://ziade.org">http://ziade.org</a><br>
> _______________________________________________<br>> Python-ideas mailing list<br>> <a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>> <a href="http://mail.python.org/mailman/listinfo/python-ideas">http://mail.python.org/mailman/listinfo/python-ideas</a><br>
</div>