Удаление элементов из списка, содержащего определенные символы

Я хочу удалить все элементы в списке, который содержит (или не содержит) набор конкретных символов, однако я столкнулся с проблемами, повторяющимися по списку, и удалением элементов по мере продвижения. Ниже приведены два довольно равных примера этого. Как вы можете видеть, если два элемента, которые должны быть удалены, непосредственно следуют друг за другом, второй не удаляется.

Я уверен, что есть очень простой способ сделать это в python, поэтому, если кто-нибудь знает это, пожалуйста, помогите мне – я в настоящее время делаю копию всего списка и итерации по одному и удаляя элементы в другом … Не хорошее решение, которое я предполагаю

>>> l ['1', '32', '523', '336'] >>> for t in l: ... for c in t: ... if c == '2': ... l.remove(t) ... break ... >>> l ['1', '523', '336'] >>> l = ['1','32','523','336','13525'] >>> for w in l: ... if '2' in w: l.remove(w) ... >>> l ['1', '523', '336'] 

Догадаться:

 >>> l = ['1','32','523','336','13525'] >>> [x for x in l if not '2' in x] ['1', '336'] 

Хотелось бы также знать, есть ли способ установить итерацию назад один набор при использовании для x в l.

3 Solutions collect form web for “Удаление элементов из списка, содержащего определенные символы”

Перечни:

 >>> l = ['1', '32', '523', '336'] >>> [ x for x in l if "2" not in x ] ['1', '336'] >>> [ x for x in l if "2" in x ] ['32', '523'] 

Если я правильно вас пойму,

 [x for x in l if not "2" in x] 

может выполнить эту работу.

У вас может возникнуть проблема в том, что вы пытаетесь изменить последовательность в одно и то же время, когда вы зацикливаете на нее для цикла t.

  • Для чего нужна циклическая структура данных?
  • Как представить странный график в некоторой структуре данных
  • Эффективная структура данных объектов в python для поиска на основе любой переменной-члена объекта
  • Список списков Python - доступ к отдельным элементам
  • Удаление элемента из очереди приоритетов
  • Что я использую для реализации max-heap в Python?
  • Закрепление неравных списков в python в список, который не отбрасывает ни один элемент из более длинного списка,
  • Найти индексы по двум спискам на основе состояния элементов
  • Структура данных Python для эффективного добавления, удаления и random.choice
  • Какова базовая структура данных для списков Python?
  • Создание дерева / глубоко вложенного dict со списками из текстового файла с отступом
  • Python - лучший язык программирования в мире.