我有一個列表:的Python:如何在沒有特定對象創建基於現有的列表上一個新的列表
a = ['house', 'bikeCT', 'car', 'bike', 'houseCT']
我想基於列表中不含有'CT'
所有對象的新名單。我怎麼能這樣做?
我有一個列表:的Python:如何在沒有特定對象創建基於現有的列表上一個新的列表
a = ['house', 'bikeCT', 'car', 'bike', 'houseCT']
我想基於列表中不含有'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']
這是您的列表看起來如何。爲了Dletele東西從它:
del a[1]
del a[4]
這告訴計算機,從所謂的刪除列表中的項目數一個「a」和從所謂的「一個」清單中刪除的項目數4。但要記住,在Python中,在列表中的第一個東西叫做0,而不是1您的最終產品應該是這樣的(你寫的打印後(一):
['house', 'car', 'bike']
希望這有助於
哇,一個非常快速的答案:) – 2013-02-28 23:30:13
蟒蛇是真棒:) – 2013-02-28 23:30:51
謝謝,這確實很快。 – ustroetz 2013-02-28 23:32:26