Mike, Thanks, this worked great, and was 4x faster than my method!
Thanks everyone for replying! The changes I made were: !rest = ''.join([chr(i) for i in range(256) if chr(i).upper() not in WORD]) !# a wildcard in the word means that we check all letters !if '?' in WORD: ! rest = '' !translator = string.maketrans('','') and ! try: ! pool.remove( char ) ! except ValueError: ! # nested try to remove possible wildcard ! try: ! pool.remove( '?' ) ! except ValueError: ! return False -- http://mail.python.org/mailman/listinfo/python-list