Well, of course you can always use:
first_match = filter(pred, seq)
But if 'seq' is long, you've wasted complete application of 'pred'. You could use ifilter and islice, but that starts to look unwieldy. It's probably easiest just to write your own first(), don't you think?
def first(iter, pred):
for x in iter:
if pred(x): return x
It might be nice to make that a built-in, but it's pretty simple to implement.