python中的迭代库为itertools,如果需要输出详细,需要使用类型工厂函数,如list,tuple将结果转换
itertools.product:product(A,B) 相当于((x, y) for x in A for y in B),其实可以传多个序列
itertools.permutations(iterable [,r]):如果没有带参数r,表示全排列,否则表示r个元素组成的排列
itertools.combinations(iterable [,r]):计算不可重复组合
itertools.combinations_with_replacement(iterable [,r]):计算可重复组合
itertools.groupby(iterable):按key来分组,如果要输出具体的信息,for k, c in groupby(s),其中k表示关键字,c表示group对象,如果要获取group对象的长度,使用len(list(c))
itertools.starmap(f, iterable):与map有些相似