Как я могу удалить элемент списка содержащий определённый символ

Например есть список str:

genre  = ['Жанр:', 'Слэшер', 'Шутер', 'Хоррор', 'РПГ', 'Аркада']

Как мне найти тот элемент в котором содержится ":" и удалить его?


Ответы (3 шт):

Автор решения: Nickolay Chistov

Вот такой код у меня работает:

genre  = ['Жанр:', 'Слэшер', 'Шутер', 'Хоррор', 'РПГ', 'Аркада']

removed = []

for i, g in enumerate(genre):
    if ":" in g:
        removed.append(g)

for r in removed:
    genre.remove(r)
→ Ссылка
Автор решения: Павел

Предлагаю такое решение:

genres = ['Жанр:', 'Слэшер', 'Шутер', 'Хоррор', 'РПГ', 'Аркада']

filter_genres = [genre for genre in genres if ':' not in genre]

print(filter_genres) # ['Слэшер', 'Шутер', 'Хоррор', 'РПГ', 'Аркада']
→ Ссылка
Автор решения: Mango

могу предложить еще вот такой вариант

[genre.remove(a) for a in genre if a.count(':') > 0]

или немного другой

[genre.remove(a) for a in genre if ':' in a]

или третий вариант

[genre.remove(a) for a in genre for letter in a if letter == ':']
→ Ссылка