删除符合Python中逻辑条件的列表元素

时间:2012-09-20 22:47:05

标签: python list grep

我在'inner'中有如下arcpy(arcmap)列出的文件名。

inner = [u'aet1941jan.asc', u'aet2004jun.asc', u'aet1981nov.asc', u'aet1985feb.asc', u'aet1974sep.asc', u'aet1900sep.asc', u'aet1994apr.asc', u'aet1970nov.asc']

我正在寻找一种方法来只提取1990年以后的栅格。如何构建一个逻辑表达式,从列表中删除所有旧栅格的所有元素?

这样输出就是一个列表:

out = [u'aet2004jun.asc', u'aet1994apr.asc']

1 个答案:

答案 0 :(得分:6)

列表理解最简单:

out = [v for v in inputlist if int(v[3:7]) >= 1990]

请注意,您无法命名变量in;我改为使用inputlist

以上假设字符3到6始终是您的值中的年份。