我正在编写一个简单的脚本来打印输入字符串的所有排列:
import itertools
inputstring = input("What is your request?")
print("Calculating permutations...")
permlist = (list(itertools.permutations(inputstring)))
for x in range (len(permlist)):
print ("%s is word #%s"%("".join(permlist[x]),x+1))
但是这段代码必须首先计算所有排列,然后在完成后打印它们。有没有办法实时打印输出字符串而不是在计算结束时?
答案 0 :(得分:4)
this
的调用正在消耗所有排列。相反,只需迭代直接从itertools返回的 iterator 对象:
list