我有一个列表例如
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 :(得分:0)
j == '*doy001*'
检查j
是否等于*doy001*
j == 'doy001'
检查j
是否等于doy001
这些方法都是错误的。
使用in
运算符;
filter = [j for j in list if 'doy001' in j]
答案 1 :(得分:0)
使用字符串in
,您可以检查字符串是否包含在另一个
filter = [j for j in list if 'doy001' in j]
答案 2 :(得分:0)
您可以使用:
filter = [j for j in l if 'doy001' in j]
也
filter = [j for j in l if (j.find('doy001')!= -1)]
希望这有帮助。