Я пытаюсь создать обратный цикл, вложенный в цикл for, как только цикл for удовлетворяет определенному критерию, затем включается обратный цикл, чтобы получить требуемую информацию, которую я ищу, исходя из второй, непротиворечивой, критерий, который я знаю. Обычно можно выполнить цикл for для поиска необходимой информации; тем не менее, я знаю только критерии и не знаю необходимой информации, кроме той, которая указана перед критериями и может быть в одном из трех различных форматов. Я использую Python 3.6.
РЕДАКТИРОВАТЬ: Похоже, что меня отталкивает, это другой формат «то, что я ищу». Чтобы упростить его, давайте перейдем к одному конкретному формату, информацию, которую я хочу, можно сгруппировать с информацией, которую я не хочу.
searchList = [['apple'], ['a criterion for'],
['what Im looking for'], ['a criterion for what Im looking for not what Im looking for'],
['fish'], ['coffee'], ['oil']]
saveInformation = []
for n in range(len(searchList)):
if 'coffee' in searchList[n]:
for x in range(n, 0, -1):
if 'a criterion for' in searchList[x]:
#this part just takes out the stuff I don't want
saveInformation.append(searchList[x])
break
else:
# the reason for x+1 here is that if the above if statement is not met,
#then the information I am looking for is in the next row.
#For example indices 1 and 2 would cause this statement to execute if index
#3 was not there
saveInformation.append(searchList[x+1])
break
Ожидаемый результат
saveInforation = ['what Im looking for']
Вместо этого я получаю вывод
saveInforation = ['oil']