[Tutor] How to determine if every character in one string isinanother string?

Bob Gailer bgailer at alum.rpi.edu
Tue Jul 24 03:21:08 CEST 2007


Alan Gauld wrote:
> "wesley chun" <wescpy at gmail.com> wrote
>
>   
>> the solutions using LCs above are great when it comes to an 
>> expressive
>> piece of code in a one-liner, but i feel there's a waste of
>> time/memory.  the use of GEs is better, but it still has to iterate
>> over the entire string when i don't feel that it should be necessary
>>     
>
> One of my only peeves with LCs is that they always iterate to the end,
> I'd like an optional extra 'until' clause, like:
>
> lst = [n for n in veryBigSequence if someTest(n) until anotherTest(n)]
>
> This would act as usual until the final expression was true at which
> point it would stop iterating.
>   
How about:

lst = [n for n in itertools.takewhile(anotherTest(), veryBigSequence] if someTest(n)] # reverse the logic of anotherTest


> If I could find the time/inclination I might even try throwing it in 
> as
> a PEP sometime...
>
> I don't think it would break much old code because (a) its an optional
> extra at the end of the LC and (b) 'until' isn't used in Python so 
> far...
>
> Alan G. 
>
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>   


-- 
Bob Gailer
510-978-4454 Oakland, CA
919-636-4239 Chapel Hill, NC




More information about the Tutor mailing list