def _kmp_find(self, needle, haystack, lst = None):
		"""find with KMP-searching. needle is an integer array, reprensenting a pattern. haystack is an integer array, reprensenting the input sequence. if lst is None, return the first position found or -1 if no match found. If it's a list, will return a list of all positions in lst. returns -1 or [] if no match found."""
                if lst != None: return self._kmp_search_all(haystack, needle)
                else: return self._kmp_search_first(haystack, needle)
def _kmp_find ( self , needle , haystack , lst = None ) : if lst != None : return self . _kmp_search_all ( haystack , needle ) else : return self . _kmp_search_first ( haystack , needle )
find with KMP-searching. needle is an integer array, reprensenting a pattern. haystack is an integer array, reprensenting the input sequence. if lst is None, return the first position found or -1 if no match found. If it's a list, will return a list of all positions in lst. returns -1 or [] if no match found.