itertools函数没有错误,但它在完成后也不会打印任何内容。 我的代码是:问题打印组合
def comb(iterable, r):
pool = tuple(iterable)
n = len(pool)
for indices in permutations(range(n), r):
if sorted(indices) == list(indices):
print (indices)
yield tuple(pool[i] for i in indices)
我包括print语句,但它并不打印计算的总组合。
为什么要创建一个整数列表,只要输入数据,产生它们的排列,使用每个排列作为一对索引到原始并产生结果?噢,因为你想过滤他们订购?这就是'itertools.combinations'的用途;它直接取代你的整个功能。 – 2012-04-18 06:30:50