How to signal “index not found” in Python Function result
我正在编写一个小函数,用"模糊"比较返回字符串列表中第一个出现的字符串的索引。
我的问题是:什么是表示目标字符串与源列表中任何字符串都不匹配的正确方法?
显而易见的(只是?)要做的是返回-1。但由于python中的-1意味着序列的最后一个元素,所以我发现这可能不是好的python样式。有更多的Python吗?方式?
My question is: what is the proper way to signify the target string not matching any in the source list?
出现错误:
1 | raise ValueError("String Not Found") |
python是一种duck类型的语言;请参见:http://en.wikipedia.org/wiki/duck_typing,因此"提出适当的错误"是完全可以接受和接受的约定。
更新:和往常一样,现在已经有几个答案和评论,甚至使用
更新二:为了保持一致性,我想应该使用Pyton的内置
根据python文档;
R指数;
STR.rFED();
如果您希望保持与python的std libs相同的设计,考虑到您的函数与str.rindex执行的操作几乎相同,则会引发valueerror()。但是,如果您的函数更像rfind,那么返回-1。
如果您不关心保持与std libs相同的设计原则,那么使用您喜欢的任何样式。
参见http://docs.python.org/2/library/stdtypes.html str.count
您可以返回
要检查结果,您将使用