2015-09-04 44 views
-1

我有一個列表,例如使用特定值的項目的列表使用過濾包含在每個項目

list = ["1234doy001.tif", "1233doy001.tif", "1111doy002.tif", "2222doy002.tif"] 

我想過濾列表,它只會給我具有doy001值的列表。

期望的結果:

filter = ["1234doy001.tif", "1233doy001.tif"] 

我想

filter = [j for j in list if j == '*doy001*'] 

filter = [j for j in list if j == 'doy001'] 

,但沒有成功。它只是返回一個空的列表,如[]

請指教。

感謝, -Leo

回答

0

用繩子in你可以檢查一個字符串是否包含在另一個

filter = [j for j in list if 'doy001' in j] 
0

j == '*doy001*'檢查j等於*doy001*

j == 'doy001'檢查j等於doy001

這些做法都是錯誤的。

使用in運算符;

filter = [j for j in list if 'doy001' in j] 
0

您可以使用:

filter = [j for j in l if 'doy001' in j] 

filter = [j for j in l if (j.find('doy001')!= -1)] 

希望這有助於。

相關問題