python - 如何打印我认为是对象的东西?

标签 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

输出

"generator object xuniqueCombinations at 0x020EBFA8"

我想查看它找到的所有组合。我怎样才能做到这一点?

最佳答案

leoluk 是对的,您需要对其进行迭代。但这是正确的语法:

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

或者,您可以先将其转换为列表:

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

关于python - 如何打印我认为是对象的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710823/

相关文章:

python - 根据列中存在的值对 Pandas Dataframe 进行切片,该列是列表列表

python - 使用 Python 将 CSV 转换为二进制

python - Python 2.7 中使用方法名称字符串的动态方法调用

没有 Pygame 的 Python 游戏设计

python - 连接关闭时 try/finally 阻塞的 Tornado 生成器引擎中的内存泄漏

asynchronous - 如何在生成器中使用 await?

python - Python 中的命名信号量?

node.js - co node.js 库的用途是什么?

recursion - 在Golang中为递归函数实现生成器( yield )的惯用方式

python - Python 生成器中的参数检查