擅长:python、mysql、java
<p>如果您希望它立即给您一个列表,这将起作用:</p>
<pre><code>def palindrome_range(start,stop,step=1):
ret=[x for x in xrange(start,step,stop) if str(x)==str(x)[::-1]]
return ret
</code></pre>
<p>但是,如果需要生成器,可以使用:</p>
<pre><code>def palindrome_range(start,stop,step=1):
for x in xrange(start,stop,step):
if str(x)==str(x)[::-1]:
yield x
</code></pre>
<p>这将有助于你在很大程度上加快事情取决于你在使用它。例如,如果您想遍历回文,那么生成器将很好地为您服务。但是,如果需要整个列表,则返回常规列表会更好。然而,值得注意的是,在这种情况下,<code>xrange</code>比range要好得多,因为它处理大列表更好,如文档所述<a href="http://docs.python.org/2/library/functions.html#xrange" rel="nofollow">here</a>。</p>