[Tutor] another better way to do this ?

Peter Otten __peter__ at web.de
Mon Jan 13 19:22:08 CET 2014


Peter Otten wrote:

> Emile van Sebille wrote:
> 
>> On 01/12/2014 12:21 PM, Peter Otten wrote:
>> 
>>>>>> test("axbxc", "abc")
>>> True
>>>>>> test("abbxc", "abc")
>>> False
>>>
>>> Is the second result desired?
>> 
>> No -- the second should match -- you found a test case I didn't...
>> 
>> def test(a,b):
>>    for ii in a:
>>      if ii not in b: a=a.replace(ii,"")
>>      while ii+ii in a: a=a.replace(ii+ii,ii)
>>    return b in a
>> 
>> Show me another.  :)
> 
>>>> def test(a,b):
> ...    for ii in a:
> ...      if ii not in b: a=a.replace(ii,"")
> ...      while ii+ii in a: a=a.replace(ii+ii,ii)
> ...    return b in a
> ...
>>>> test("abac", "abc")
> False

In the mean time here is my candidate:

def test(a, b):
    a = iter(a)
    return all(c in a for c in b)




More information about the Tutor mailing list