Удаление полностью совпавших элементов из списка - PullRequest
0 голосов
/ 05 мая 2020

Я хочу знать, есть ли способ стереть весь совпавший список из большого списка в Python. Например,

a = ["2", "1", "2", "x"]

Я хочу знать, есть ли способ удалить "2", "x" из списка. Обратите внимание, что расположение элементов списка является случайным, но в любом случайном положении "2" и "x" будут рядом, т.е. после "2" будет "x".

1 Ответ

1 голос
/ 05 мая 2020

Как сказано в комментарии, правильным подходом является поиск всех индексов 2, если следующий элемент равен x. Используя этот подход:

# Your input list
list_a = ["2", "1", "2", "x", "2", "x", "2", "x"]

# Storing index of 2 and its next element if that next element is x 
indices_to_store = []
for i, v in enumerate(list_a):
    if list_a[i]=="2" and list_a[i+1]=="x":
       indices_to_store.append(i)
       indices_to_store.append(i+1)

# output list using list comprehension
new_list = [list_a[i] for i,v in enumerate(list_a) if i not in indices_to_store]
# ['2', '1']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...