Python: как создать новый список на основе существующего списка без определенных объектов

У меня есть список:

a = ['house', 'bikeCT', 'car', 'bike', 'houseCT'] 

Я хочу новый список, основанный на списке a, без всех объектов, содержащих 'CT' . Как я мог это сделать?

3 Solutions collect form web for “Python: как создать новый список на основе существующего списка без определенных объектов”

Используйте понимание списка:

 a = ['house', 'bikeCT', 'car', 'bike', 'houseCT'] b = [x for x in a if 'CT' not in x] 

Если ваш поиск более сложный, чем предпочтительный, вы можете использовать регулярное выражение:

 >>> import re >>> a = ['house', 'bikeCT', 'car', 'bike', 'houseCT'] >>> [s for s in a if not re.match(r'.*e',s)] ['car'] 

или, endswith :

 >>> a = ['house', 'bikeCT', 'car', 'bike', 'houseCTn'] >>> [s for s in a if not s.endswith('CT')] ['house', 'car', 'bike', 'houseCTn'] 

Более простой способ состоит в том, чтобы удалить элементы, а не создавать новые.

 a = ['house', 'bikeCT', 'car', 'bike', 'houseCT'] 

Это как выглядит ваш список. Чтобы Dletele что-то от него:

 del a[1] del a[4] 

Это говорит компьютеру, удаляет элемент номер один из списка с именем «a» и удаляет номер элемента 4 из списка «a». Но помните, что в Python первое, что в вашем списке называется 0, а не 1. Ваш конечный продукт должен выглядеть следующим образом (после того, как вы напишете print (a):

 ['house', 'car', 'bike'] 

Надеюсь это поможет

  • Средний -Питон
  • Сравнение двух списков с использованием оператора больше или меньше
  • Могу ли я расширить список в Python с помощью дополнительных элементов вместо добавления?
  • Pythonic способ определить, являются ли не нулевые записи списка «непрерывными»,
  • Невозможно изменить списки в Python, получив «Nonetype» в списке
  • Средние дублированные значения из двух парных списков в Python
  • Преобразование Python '\' в '\\'
  • Сравнение двух списков координат в python и использование значений координат для назначения значений
  • Python - лучший язык программирования в мире.