searching substrings with interpositions
Claudio Grondi
claudio.grondi at freenet.de
Tue May 24 08:39:46 EDT 2005
> i search a function f(a,b) that gives 1 if a is "contained" in b with
> any sub strings interposed.
If I understand it right, it should be something
like this:
def blnFindCharSequenceAevenIfSpreadOverEntireStringB(strA, strB):
intNoOfCharsFound = 0
intPtrToBeginOfSubsectionOfB = 0
intLenA = len(strA)
intLenB = len(strB)
blnStrAinB = False
for chrA in strA:
blnFoundChrA = False
# print chrA
for indxToB in range(intPtrToBeginOfSubsectionOfB, intLenB):
if(chrA == strB[indxToB]):
intNoOfCharsFound += 1
# print " ",chrA, strB[indxToB], indxToB
intPtrToBeginOfSubsectionOfB = indxToB + 1
blnFoundChrA = True
break
#:if
#:for
if(intNoOfCharsFound == intLenA):
blnStrAinB = True
print "sequence '%s' found in '%s'"%(strA, strB)
break
#:if
if(blnFoundChrA == False):
break
#:if
#:for
if blnStrAinB == False:
print "sequence '%s' not in '%s'"%(strA, strB)
#:if
#:def
strA = "0101"
strB = "000011110100"
blnFindCharSequenceAevenIfSpreadOverEntireStringB(strA, strB)
strA = "010101"
strB = "000011110100"
blnFindCharSequenceAevenIfSpreadOverEntireStringB(strA, strB)
Note: code above is intended to help clarify things only,
so that a bunch of examples can be tested.
If you need production quality code, maybe someone else
can provide it.
Is it what you are looking for?
By the way:
it looks to me like a standard problem while
comparing DNA sequences, so I suppose
that there are ready to use fast libraries
providing such kind of function.
Claudio
<borges2003xx at yahoo.it> schrieb im Newsbeitrag
news:1116926253.186047.195260 at g43g2000cwa.googlegroups.com...
> hi everyone.
> a problem:
> two binary strings, a="0101" b="000011110100";
> i search a function f(a,b) that gives 1 if a is "contained" in b with
> any sub strings interposed.
> in this example a in contained cause 000<01>111<01>00 but also
> 0<0>001111<101>00"
> but also <0>0001111<101>00 but also 000<0>1111<01>0<0> etc....
> any idea?
> Thanx in advance.
> Giorgi Borghi
>
More information about the Python-list
mailing list