如何打印我认为是一个对象的内容?

11 投票
4 回答
9696 浏览
提问于 2025-04-16 04:08
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

输出结果

"generator object xuniqueCombinations at 0x020EBFA8"

我想看看它找到的所有组合。我该怎么做呢?

4 个回答

0
x = list(xuniqueCombinations(test, 3))
print x

把你的生成器转换成列表,然后打印出来……

4

这是一个生成器对象。你可以通过遍历它来访问里面的内容:

for x in xuniqueCombinations:
    print x
17

leoluk说得对,你需要对它进行遍历。不过,这里是正确的写法:

combos = xuniqueCombinations(test, 3)
for x in combos:
    print x

另外,你也可以先把它转换成一个列表:

combos = list(xuniqueCombinations(test, 3))
print combos

撰写回答