> > prefix = os.path.commonprefix(filter( bool, lines )) that is an interesting and yes, not very optimal way of saving the set of non-blank lines. the commonprefix() function takes a list of pathnames and returns the longest prefix that all strings have in common, presumably for disk filenames, although this sounds like just a string processing function that would work with non-pathnames too.
> > and I don't understand what that 'bool' is doing. Or rather, I think > > that I see what it is doing, but I am not sure - and I don't much like it. > : > > I tried replacing 'bool'... it sounds like you did not develop the original code. it seems to work... why are you trying to replace it? are you refactoring? > This works but it isn't doing what you think it is. > lambda True: True > is the same as > lambda x: x kent is right. True is not a keyword, so you are just using "True" as a variable name. scarily, one can do stuff like this: >>> True, False = False, True >>> True False >>> False True > Try filter(None, lines) or use a list comprehension: > [ line for line in lines if line ] i like both of these better... they will perform better than with bool(). of the two, it would be interesting to study which one's faster... and why. -wesley _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor