2012-09-20 4 views
0

'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 년 이후의 래스터 만 추출하는 방법을 찾고 있습니다. 목록에서 모든 오래된 래스터를 제거하는 논리적 표현을 어떻게 만들 수 있습니까?

같은 OUPUT이 목록이 될 것이라고 :

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

답변

6

목록의 이해있는 가장 쉬운 방법입니다 : 당신이 변수 in의 이름을 수 없습니다

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

참고; 대신 inputlist을 사용했습니다.

위의 문자는 3에서 6까지의 문자가 항상 사용자의 가치에 해당한다고 가정합니다.

+2

'int (re.sub ('[^ 0-9] ',' ', v) 또는 0)> = 1990'로 안전하게 할 수 있습니다. –

+0

감사합니다 !!!! – mmann1123

관련 문제