擅长:python、mysql、java
<p>以标准库为指南,<em>itertools</em>模块中的组合函数都会返回元组,尽管底层算法是一个突变就地算法。例如,查看<a href="http://docs.python.org/library/itertools.html#itertools.permutations" rel="nofollow">itertools.permutations</a>的代码。在</p>
<p>这种设计(返回元组而不是列表)已经被证明是健壮的。根据调用方返回的值,我很难找到这个值。在</p>
<p>还有一个想法。我不会太担心为未使用的结果“创建价值数千元组的垃圾”。Python的元组实现非常善于重用以前处理过的元组(通过使用freelists数组,它可以从以前使用的元组中创建一个新的元组,而无需调用内存分配器)。因此,元组版本只是列表版本的一个性能,甚至更好一些。在</p>