Boudreau, Emile wrote: > Hey all, > So I'm trying to filter a list with the built-in function > filter(). My list looks something like this: > ['logs', 'rqp-8.2.104.0.dep', 'rqp-8.2.93.0.dep', > 'rqp-win32-app-8.2.96.0-inst.tar.gz', 'rqp-win32-app-8.2.96.0-inst.tar.gz'] > > Calling filter like this: compFiles = filter(is_Dev, compFiles) > compFiles is my list and is_dev is the following > > def is_Dev(stringy): > print stringy > stringx = stringy.split('-') > if stringx[1] == r'win32': > if stringx[2] == r'app': > if stringx[4] == r'dev.tar.gz': > return 1 >
Use fnmatch.filter instead? >>> source = ['logs', 'rqp-8.2.104.0.dep', 'rqp-8.2.93.0.dep', 'rqp-win32-app-8.2.96.0-inst.tar.gz', 'rqp-win32-app-8.2.96.0-inst.tar.gz'] >>> >>> import fnmatch >>> fnmatch.filter(source, '*-win32-app-*-inst.tar.gz') ['rqp-win32-app-8.2.96.0-inst.tar.gz', 'rqp-win32-app-8.2.96.0-inst.tar.gz'] >>> Michael -- http://mail.python.org/mailman/listinfo/python-list