我有一个清单:
a = ['house', 'bikeCT', 'car', 'bike', 'houseCT']
我想要一个基于列表 a 的新列表,其中所有对象都不包含'CT'
. 我怎么能那样做?
使用列表推导:
a = ['house', 'bikeCT', 'car', 'bike', 'houseCT']
b = [x for x in a if 'CT' not in x]
如果您的搜索比首选更复杂in
,您可以使用正则表达式:
>>> 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']
这就是您的列表的外观。从中删除一些东西:
del a[1]
del a[4]
这告诉计算机,从名为“a”的列表中删除第一项,并从名为“a”的列表中删除第 4 项。但请记住,在 Python 中,列表中的第一件事称为 0,而不是 1。您的最终产品应如下所示(在您编写 print(a) 之后:
['house', 'car', 'bike']
希望这可以帮助