2015-09-04 55 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)] 

希望这有助于。

相关问题