如何打印我认为是一个对象的内容?
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