2013-02-28 19 views

回答

5

使用列表理解:

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

哇,一個非常快速的答案:) – 2013-02-28 23:30:13

+0

蟒蛇是真棒:) – 2013-02-28 23:30:51

+0

謝謝,這確實很快。 – ustroetz 2013-02-28 23:32:26

1

如果你的搜索比首選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'] 
1

更簡單的方法是刪除項目,而不是創建一個新項目。

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

這是您的列表看起來如何。爲了Dletele東西從它:

del a[1] 
del a[4] 

這告訴計算機,從所謂的刪除列表中的項目數一個「a」和從所謂的「一個」清單中刪除的項目數4。但要記住,在Python中,在列表中的第一個東西叫做0,而不是1您的最終產品應該是這樣的(你寫的打印後(一):

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

希望這有助於

相關問題