擅长:python、mysql、java
<p>不能。没有API支持它,并且无法序列化这些对象:</p>
<pre><code>i=itertools.permutations('ABC', 2)
next(i) # ('A', 'B')
next(i) # ('A', 'C')
import pickle
with open('mypickle', 'w') as f:
pickle.dump(i, f)
...
File "/usr/lib/python2.6/copy_reg.py", line 70, in _reduce_ex
raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle permutations objects
</code></pre>
<p>您有两种选择:</p>
<ul>
<li>跳过您已经看到的排列(如您所建议的)或</li>
<li>编写你自己的函数,接受一个起点。在</li>
</ul>