我输入了一个可能包含字母'f'的字符串。如果单词不包含fs,请打印-1;如果单词中只有一个f,则打印其索引;如果它出现两次或两次以上,请打印第一次出现两次的索引。
例如,如果我们有单词office,那么输出应该是-->12
我试过:
if s.find('f') > 0:
if s.find('f').count() >= 2:
print(s.find('f'))
if s.find('f').count() == 1:
print(s.find('f'))
else:
print(-1)
调用str.index()
,以上一个匹配的偏移量+长度作为起始索引,以查找子字符串的下一个出现:
def find_indices(string_value, term):
indices = []
offset = 0
while offset < len(string_value):
try:
idx = string_value.index(term, offset)
indices.append(idx)
offset = idx + len(term)
except ValueError:
break
return indices
print(find_indices('office', 'f'))
哪个打印[1, 2]