itertools模組中的product方法

2022-08-28 17:18:23 字數 1038 閱讀 5130

itertools模組中的product方法

itertools.product(*iterables[, repeat])

笛卡爾積

建立乙個迭代器,生成表示item1,item2等中的專案的笛卡爾積的元組,repeat是乙個關鍵字引數,指定重複生成序列的次數。

**如下:

1

def product(*args, **kwds):2#

product('abcd', 'xy') --> ax ay bx by cx cy dx dy3#

product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111

4 pools = map(tuple, args) * kwds.get('

repeat

', 1)

5 result =

6for pool in

pools:

7 result = [x+[y] for x in result for y in

pool]

8for prod in

result:

9yield tuple(prod)

例子**如下:

1

import

itertools

2 a = (1, 2, 3)

3 b = ('

a', '

b', 'c'

)4 c =itertools.product(a,b)

5for elem inc:6

print

(elem)

7 (1, 'a'

)8 (1, 'b'

)9 (1, 'c'

)10 (2, 'a'

)11 (2, 'b'

)12 (2, 'c'

)13 (3, 'a'

)14 (3, 'b'

)15 (3, '

c')

itertools模組中的product方法

itertools.product iterables repeat 笛卡爾積 建立乙個迭代器,生成表示item1,item2等中的專案的笛卡爾積的元組,repeat是乙個關鍵字引數,指定重複生成序列的次數。如下 def product args,kwds product abcd xy ax ay...

python 中itertools 模組(二)

accumulate import itertools for i in itertools.accumulate 1,9,100,3,5 1 1,10 9 1,110 100 9 1,112 1 9 100 3 5 print i,end 執行結果 d python python36 python...

python 中itertools 模組(五)

product import itertools for i in itertools.product python 類似於for迴圈 print i 執行結果 d python python36 python.exe d python test day lesson test.py p y t h...