Luke Paireepinart wrote: > Terry Carroll wrote: > >> Is there a straightforward way to find out if all characters in one string >> are present in a second string? >> >> Basically, I have a string s, and I want to print it out only if every >> character in it is printable (because I accidentally brought my PC loudly >> to its knees printing a few thousand BEL characters when trying to debug >> something). A workable test for me is whether every character in the >> string to be printed is in string.printable. >> >> Right now I'm doing: >> >> def printable(s): >> import string >> return [x for x in s if x not in string.printable] == [] >> >> If you are only concerned about the first 32 ascii characters (non-printable) then this might be more efficient (since it compares each character to ' ' and stops at the first non-printable):
import itertools testString = 'aso;dkfj hado;fg ja;lsfj asl;fj jf asdl; fj\g' candidate = [x for x in itertools.takewhile(lambda x : x >= ' ', s)] if len(candidate) == len(testString): print testString -- Bob Gailer 510-978-4454 Oakland, CA 919-636-4239 Chapel Hill, NC _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor