是否可以使用itertools.permutations()实时打印排列?

时间:2018-05-31 17:05:24

标签: python python-3.x itertools

我正在编写一个简单的脚本来打印输入字符串的所有排列:

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))

但是这段代码必须首先计算所有排列,然后在完成后打印它们。有没有办法实时打印输出字符串而不是在计算结束时?

1 个答案:

答案 0 :(得分:4)

this的调用正在消耗所有排列。相反,只需迭代直接从itertools返回的 iterator 对象:

list