over a list

Pat Pat at
Fri Oct 24 02:53:14 CEST 2008

Bruno Desthuilliers wrote:
> Pat a écrit :
>> Bruno Desthuilliers wrote:
>>> Pat a écrit :
>>>> While I can use a for loop looking for a match on a list, I was 
>>>> wondering if there was a one-liner way.
>>>> In particular, one of my RE's looks like this '^somestring$' so I 
>>>> can't just do this: '^somestring$', str( mylist ) )
>>>> I'm not smart enough (total newbie) to code up a generator 
>>>> expression and I was wondering if I'm missing something obvious.
>>> words = ['foo', 'bar', 'somestring', 'baaz']
>>>"^somestring$", "\n".join(words), re.MULTILINE)
>>>> I love succinct but clearly understandable code.
>>> separator.join(sequence_of_strings) is a very common python idiom, so 
>>> you can consider it as readable.
>> That's excellent.  Exactly what I was looking for.
>> Thank you VERY much!
> Note that at least for this exact case, you don't need re at all:
>  >>> 'somestring' in words
> True
> But I guess you do have some less trivial use case !-)

I used re because I wanted a string that was not a substring, hence the 
^$.  In my trivial example, I used words but my intent was to search for 
words within a longer string.

More information about the Python-list mailing list