Как я могу удалить элемент списка содержащий определённый символ
Например есть список 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 == ':']