Напишите функцию, которая принимает слово и символ и возвращает индексы первого и последнего вхождения этого символа в слове.
Пример:
char_index("hello", "l") ➞ [2, 3] # Первая "l" имеет индекс 2, последняя "l" - индекс 3. char_index("circumlocution", "c") ➞ [0, 8] # Первая "c" имеет индекс 0, последняя "c" - индекс 8. char_index("happy", "h") ➞ [0, 0] # В слове есть только одна буква "h", поэтому и первый, и последний индекс равны 0. char_index("happy", "e") ➞ None # Символа "e" в "happy" нет, поэтому мы возвращаем None.
Примечания:
- Если символа в слове нет, возвращается None
- Если в слове указанный символ встречается только один раз, индексы первого и последнего вхождения будут одинаковыми.
Варианты решений:
def char_index(word, char): return None if char not in word else [word.index(char), word.rindex(char)]
def char_index(w, c): if c in w: return [w.find(c), w.rfind(c)]
def char_index(word, char): try: res = [word.index(char), word.rindex(char)] except: res = None return res
char_index = lambda w, c: c in w and [w.find(c), len(w) - w[::-1].find(c) - 1] or None