<pre><code>test = ["a","b","c","d","e"]
def xuniqueCombinations(items, n):
if n==0: yield []
else:
for i in xrange(len(items)-n+1):
for cc in xuniqueCombinations(items[i+1:],n-1):
yield [items[i]]+cc
x = xuniqueCombinations(test, 3)
print x
</code></pre>
<p>输出</p>
<pre><code>"generator object xuniqueCombinations at 0x020EBFA8"
</code></pre>
<p>我想看看它找到的所有组合。我该怎么做?</p>
<p>leoluk是对的,你需要迭代它。但以下是正确的语法:</p>
<pre><code>combos = xuniqueCombinations(test, 3)
for x in combos:
print x
</code></pre>
<p>或者,可以先将其转换为列表:</p>
<pre><code>combos = list(xuniqueCombinations(test, 3))
print combos
</code></pre>