Using filter()
Calvelo Daniel
dcalvelo at pharion.univ-lille2.fr
Tue Jul 18 13:47:07 EDT 2000
More information about the Python-list mailing list
Tue Jul 18 13:47:07 EDT 2000
- Previous message (by thread): Using filter()
- Next message (by thread): Using filter()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Larry Whitley <ldw at us.ibm.com> wrote: : I have a simple problem and from the description, filter() seems like a : match. But I can't figure out how to make it work. Here's the code without : using filter() : include string, os : def filter1( fileList, name ): : #-------------------------------------------------------- : # matches name to the first characters of a file in the file list : temp = [] : for i in range(len(fileList)): : if string.find( fileList[i], name ) == 0: : temp.append( fileList[i] ) : return temp This: filter( lambda x,sf=string.find: sf(x, name )==0, fileList ) gives you back the same result. In this and filter2(), the point of using the built-in filter is to move out of the loop and design the test function element-wise. filter then does the job. : def filter2( filelist, aString ): : #------------------------------------------------- : # finds aString somewhere in the file list : temp = [] : for i in range(len(filelist)): : if string.find( filelist[i], aString ) != -1: # is in the string : somewhere : temp.append( filelist[i] ) : return temp Likewise: filter( lambda x,sf=string.find: sf(x, name ) !=-1, fileList ) [snip main] : I suspect using filter() would simplify this. Can someone help? : Larry HTH docstrings-are-your-friend-if-not-then-they-are-enemies-to-be-feared-ly y'rs Daniel. -- Daniel Calvelo Aros calvelo at lifl.fr
- Previous message (by thread): Using filter()
- Next message (by thread): Using filter()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list