有没有更好的方法来找到someStr中某个字符的第一次出现:“x”、“y”、“z”?在
def findFirstAppearance(someStr):
x = someStr.find('x');
y = someStr.find('y');
z = someStr.find('z');
if x == -1: x= len(someStr);
if y == -1: y= len(someStr);
if z == -1: z= len(someStr);
return min(x,y,z);
例如:对于someStr=“axby”,它应该返回1。 对于someStr=“aybx”,它也应该返回1。在
谢谢!在
也许:
如果找不到异常,则会引发异常,可以使用默认值进行修复:
^{pr2}$您还可以预先构造一个集来测试成员资格:
如果有很多字母需要测试,那么这个速度可能会更快;这在很大程度上取决于所涉及的大小。很容易实验,如果它是重要的,但(扰流板警报)它可能不是
这里有一个使用正则表达式的替代方法。在
示例:
^{pr2}$我想这就是你要找的。这将查找字符串中第一个出现的may字符(
items
)。它的工作原理就像str.find
。在注意:您以
items
的形式传递一个字符列表(1个字符的字符串)。在python中,字符串就是这样。如果您传递类似于[“x”,“y”,“blah”]的内容,它将不起作用(它将忽略“blah”)。在相关问题 更多 >
编程相关推荐