如何打印我认为的对象?

Ale*_*lex 11 python generator

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)