Is this is an efficient and pythonic way to see if any item in an iterable is true for a certain attribute?
<p>Say you have an iterable sequence of <code>thing</code> objects called <code>things</code>. Each <code>thing</code> has a method <code>is_whatever()</code> that returns True if it fulfills the "whatever" criteria. I want to efficiently find out if any item in <code>things</code> is whatever. </p>

<p>This is what I'm doing now:</p>

<pre><code>any_item_is_whatever = True in (item.is_whatever() for item in items)
</code></pre>

<p>Is that an efficient way to do it, i.e. Python will stop generating items from the iterable as soon as it finds the first True result? Stylistically, is it pythonic?   </p>
