从 itertools 产品格式化打印

Formatting print from itertools product

我正在尝试打印一组特定字符的每个组合的列表,我正在使用 itertools 中的 Product 来执行此操作。我有适用于打印每组字符的代码,但是格式不是我想要的。

格式错误的工作代码示例:

from itertools import product

comb = product([1, "a", "."], repeat=3)

for i in comb:
    print(i)

代码的输出包含我不想要的字符 ( ' , )。如果有人可以帮助我获得没有这些字符的组合本身的输出,我将非常感激。

您可以将 comb 视为所有组合作为元组的列表。

所以在迭代的时候解压每一项,然后你也可以单独处理:

for (v0, v1, v2) in comb:
    print(v0, v1, v2)

结果:

1 1 1
1 1 a
1 1 .
1 a 1
...

print(*i) 应该可以解决问题。

解释:* 从一个可迭代对象中解包项目,所以它等同于:print(i[0],i[1],i[2])