编辑代码

import itertools
import operator
#10为开始,2为步长,无限迭代
for i in itertools.count(10,2):
    print(i,end=' ')
    if  i>20:
        break
print()

#按照a,b,c,a,b,c,a,b,c,a.....无限的迭代
# for i in itertools.cycle('abc'):
#     print(i)

#让 可迭代的iter迭代 n次
it,n='abc',5
for i in itertools.repeat(it,n):
    print(i,end=' ')
print()

#it是可迭代数,func可选max,min,operater库操作,lambda操作
#add:累加 效果为计算前缀和  mul:累乘;      sub累减等
#lambda a,b:a+b       lambda a,b:a*b     lambda  a,b:a-b
it=[1,2,3,4,5]
ls=[i for i in itertools.accumulate(  it ,func=lambda a,b:a*b  )   ]
print(ls)

#相当于对it进行n重循环
it,n='abcd',3
ls=list(itertools.product(it,repeat=n))
print(ls)

#组合方法,从it中选出n个元素
it,n='abcde',3
ls=[i for i in itertools.combinations(it,n)]
print(ls)


#全排列后选取部分
for i in itertools.permutations(range(4),2):
    print(i)