У меня есть функция, в которой я хотел бы обнаружить первое вхождение любой буквы (учитывая группу букв) в строке и вернуть индекс буквы (см. Ниже).
Время имеет решающее значение, поэтому я думаю об использовании метода try / except (см. LetterDetect ниже).
Является ли это плохой практикой, зная, что оператор try в большинстве случаев терпит неудачу? Во-вторых, будет ли это более эффективным (по времени), чем проверка каждой словарной статьи на наличие каждой буквы (как в LetterDetect2)?
Возьмите следующую функцию, которая выглядит:
def LetterDetect(s, letters):
Dct = {}
for l in letters:
Dct[ord(l)] = 0
for i in range(0, length(s)):
try:
Dct[ord(s[i])] +=1
return i
except:
pass
Против:
def LetterDetect2(s, letters):
Dct = {}
for l in letters:
Dct[ord(l)] = 0
for i in range(0, length(s)):
if ord(s[i]) in Dct:
return i
LetterDetect("test", "abcdt")
LetterDetect2("test", "abcdt")
Я ценю любую помощь, я новичок в кодировании и Python. Спасибо!