@atsin4469

Как должна выглядеть функция find_second_index?

Задача
Цель данного упражнения — реализовать функцию find_second_index. В этом упражнении вам пригодится функция find_index, которую вы реализовали в прошлом упражнении. Напоминаю, эта функция возвращает индекс первого элемента последовательности, равного заданному значению.

Функция find_second_index же должна возвращать индекс второго подходящего элемента в последовательности. Если подходящих элементов в последовательности меньше двух или же последовательность пуста, нужно всё так же возвращать None.

Новую функцию вам следует реализовывать с помощью уже имеющейся find_index.


Старая функция, которую нужно использовать в новой без изменений:
def find_index(value, items):
    for index, item in enumerate(items):
        if item == value:
            return index
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@atsin4469 Автор вопроса
Решение:
def find_second_index(value, items):
    iterator = iter(items)
    first = find_index(value, iterator)
    second = find_index(value, iterator)
    if second is not None:
        return first + second + 1


Проблема была в том, что я искал какое-то экономичное решение, которое учитывало бы то, что в предыдущей функции уже был найден один индекс. Оказалось, что правильное решение просто делает все заново но 2 раза (с небольшими оговорками)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы