Most efficient way to remove non-numeric list entries
<p>I'm looking to 'clean' a list by excluding any items which contain characters other than 0-9, and wondering if there's a more efficient way than e.g.</p>

<pre><code>import re
invalid = re.compile('[^0-9]')    
ls = ['1a', 'b3', '1']
cleaned = [i for i in ls if not invalid.search(i)]
print cleaned
&gt;&gt; ['1']
</code></pre>

<p>As I'm going to be operating on large-ish lists (5k items) of long strings (15 chars).</p>
