字符串Python中第一次和第二次出现



我输入了一个可能包含字母'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]

最新更新