从 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])
我正在尝试打印一组特定字符的每个组合的列表,我正在使用 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])