Pat wrote: > 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: re.search( '^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'] >> re.search(r"^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. > I suspect that
any(re.match(pat, word) for word in words) might be a more efficient way to do this. regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list