Итак, у меня есть список, похожий на этот:
list=[10.0, 10.0, 10.0, 9.9, 9.9, 9.9, 10.0, 9.9, 10.0, 10.0, 10.0, 10.0, 9.9, 9.9, 9.9, 9.9, 9.9, 9.9, 10.0, 10.0, 10.0, 10.2, 10.0, 9.9, 9.9, 9.9, 9.9, 10.0, 10.2, 10.0, 9.9, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.1, 10.0, 10.0, 10.0, 10.0, 10.0, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.3, 10.3, 10.2, 10.2, 10.3, 10.3, 10.2, 10.2, 10.2, 10.2, 10.2, 10.2, 10.3, 10.2, 10.5, 10.9, 10.5, 10.3, 10.3, 10.3, 10.2, 10.2, 10.2, 10.2, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.1, 10.4, 10.7, 10.3, 10.2, 10.1, 10.1, 10.0, 10.0, 10.0, 10.0, 10.0, 9.9, 9.9, 9.9, 10.0, 9.9, 9.9, 9.9, 10.1, 9.9, 9.9, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.7, 9.8, 9.8, 9.7, 9.7, 9.7, 9.7, 9.7, 9.7, 9.6, 9.7]
И еще у меня есть подсписок, который выглядит примерно так:
sublist=[9.9, 9.9, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8]
Теперь, что мне нужно сделать с этим меньшим списком, так это то, что мне нужно найти, где это находится в основном списке.
Таким образом, в этом случае результат должен выглядеть примерно так: index = 119 (я могу отключить +/- 1)
Я пытался сделать это весь день ... И ничего не нашел в сети ...
У меня есть несколько идей:
1) Я нахожу первый элемент подсписка в списке .... который в этом случае будет равен 4, поэтому я проверяю следующий номер, который также является правильным, затем следующий, который будет неправильным, и он отправит найти другой 9.9 в оставшемся списке [4:] и повторить тот же цикл ... пока не будет найдено точное соответствие
2) Тогда другая идея состоит в том, чтобы как-то использовать строки
str (list) [1: -1] .find (str (sublist) [1: -1]), который в этом случае даст ответ 687 ...
Проблема с этими идеями в том, что они кажутся длинными и неряшливыми, а также я не смог заставить эти идеи работать ...