Я хотел бы просмотреть список и убедиться, что он соответствует определенным критериям. Список выглядит следующим образом:
mylist = ["dog", "a", "b", "-b", "cat", "-cat", "-a", "-dog"]
Я хотел бы иметь возможность просматривать этот список, и каждый раз, когда встречается символ "-", этот элемент сравнивается с элементом перед ним. Если эти два элемента одинаковы (за исключением «-»), оба будут удалены, и процесс будет повторен. Таким образом, в конечном итоге все будет выглядеть так:
["dog", "a", "b", "-b", "cat", "-cat", "-a", "-dog"]
["dog", "a", "cat", "-cat", "-a", "-dog"]
["dog", "a", "-a", "-dog"]
["dog", "-dog"]
[]
Где [] - это продукт, который будет использоваться для продвижения вперед (поэтому другие материалы не нужно печатать или показывать, этотолько процесс, который я представляю Python для того, чтобы дойти до конца).
Если сравниваемый список не удовлетворяет критериям удаления в какой-то момент, операция может просто остановиться. Итак, для списка, который выглядел так:
newlist = ["dog", "a", "b", "-a", "-b", "-dog"]
Так как первый встреченный символ "-" будет связан с "a", но предшествующим элементом является "b"
Я пытался проработать это с помощью цикла for:
lt4 = []
lt5 = []
for i in mylist:
for j in i+1:
if [j] == [j-1]:
temp = i[-j:j+1]
lt4.append(temp)
lt5.append(lt4)
Я понимаю, что это грубая попытка, и она, очевидно, не работает;В настоящее время я получаю ошибки типа для целых чисел с переменными для итераций в цикле. Любая помощь всегда очень ценится.