2016-05-08 6 views
-1

Как бы найти позицию буквы в строке без использования функции find.поиск по строкам без использования функции поиска python 3

Можно ли использовать комбинацию дальности и функции длины?

обновление: Я пытаюсь найти позицию символа в строке, не используя функцию поиска, например, («с», «кошка») с находится в положении нулевой

+1

Пожалуйста, укажите язык программирования вы говорите. :) –

+0

Это домашнее задание? –

ответ

1

Использование enumerate:

>>> s = 'foobar' 
>>> l = 'o' 
>>> [i for i,j in enumerate(s) if j==l] 
[1, 2] 
0

Эта функция делает то же самое, как find() метод строк Python (для всей строки не допуская необязательные start и end аргументы):

def my_find(string_, letter): 
    for index, sub in enumerate(string_): 
     if sub == letter: 
      return index 
    return -1 

Сейчас:

>>> s = 'abcabc' 
>>> s.find('b') 
1 
>>> s.find('x') 
-1 
>>> my_find(s, 'b') 
1 
>>> my_find(s, 'x') 
-1 
+0

Это не сработает, если 'letter' длиннее одного символа. – zondo

+0

Да, одна буква означает один символ. ОП не запрашивал поиск подстроки. –

Смежные вопросы