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
Run Code Online (Sandbox Code Playgroud)
输出
"generator object xuniqueCombinations at 0x020EBFA8"
Run Code Online (Sandbox Code Playgroud)
我希望看到它找到的所有组合.我怎样才能做到这一点?
Col*_*son 17
leoluk是对的,你需要迭代它.但这是正确的语法:
combos = xuniqueCombinations(test, 3)
for x in combos:
print x
Run Code Online (Sandbox Code Playgroud)
或者,您可以先将其转换为列表:
combos = list(xuniqueCombinations(test, 3))
print combos
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9511 次 |
| 最近记录: |