Python: Cómo crear una nueva lista basada en una lista existente sin ciertos objetos

Tengo una lista:

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

Quiero una nueva lista basada en la lista a sin todos los objetos que contienen 'CT' . ¿Cómo podría hacer eso?

Use una lista de comprensión:

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

Si su búsqueda es más compleja que la preferida, puede usar una expresión regular:

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

o bien, endswith

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

Una forma más fácil es eliminar los elementos, en lugar de crear uno nuevo.

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

Así es como se ve tu lista. A Dletele algo de ello:

 del a[1] del a[4] 

Esto le indica a la computadora, eliminar el artículo número uno de la lista llamada “a” y eliminar el artículo número 4 de la lista llamada “a”. Pero recuerde, en Python, lo primero en su lista se llama 0, no 1. Su producto final debe tener este aspecto (después de que escriba en letra de molde)

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

Espero que esto ayude