Прокрутите список, чтобы найти три предыдущих элементаPython

Программы на Python
Anonymous
Прокрутите список, чтобы найти три предыдущих элемента

Сообщение Anonymous »

Я пытаюсь просмотреть список, и когда я нахожу определенную строку, я хочу извлечь три предыдущих элемента.
Вот простой пример:

Код: Выделить всё

my_list = ['one', 'two', 'three', 'four', 'five', 'six', 'five']

new = []
for i in my_list:
if i == 'five':
context = (my_list[my_list.index(i)-3], my_list[my_list.index(i)-2], my_list[my_list.index(i)-1])
print(context)

Этот текущий код выведет:

Код: Выделить всё

('two', 'three', 'four')
('two', 'three', 'four')
Вот в чем моя проблема! Есть две строки «пять», так как мне сделать так, чтобы она проходила циклически и печатала предыдущие три элемента для каждой «пяти»? В идеале я хочу, чтобы он напечатал следующее:

Код: Выделить всё

('two', 'three', 'four')
('four', 'five', 'six')
Как мне сделать так, чтобы оно соответствовало текущей «пятерке», а не только первой?

Подробнее здесь: https://stackoverflow.com/questions/787 ... s-elements

Вернуться в «Python»