概念:
组合迭代器:对序列的排列组合,求序列的笛卡尔积,python itertools提供了4中组合迭代器方法。
案例:
1、itertools.product(*iterables,repeat=1):
求笛卡尔积,相当于嵌套的for循环,如product(A,B)其实就是等于((x,y) for x in A for y in B ))。
每次迭代时将最右侧的元素向后迭代。
repeat设置重复迭代次数,默认是1,例如product(A,repeat=4) 等于product(A,A,A,A)。
代码: #itertools.product() print (list(itertools.product('AB','xy'))) print (list((x,y) for x in 'AB' for y in 'xy'))
输出:
[('A', 'x'), ('A', 'y'), ('B', 'x'), ('B', 'y')]
[('A', 'x'), ('A', 'y'), ('B', 'x'), ('B', 'y')]
代码: #itertools.product() print (list(itertools.product('AB','xy',repeat=2))) print(list(itertools.product(range(2),repea