itertools模組中的product方法
itertools.product(*iterables[, repeat])
笛卡爾積
建立乙個迭代器,生成表示item1,item2等中的專案的笛卡爾積的元組,repeat是乙個關鍵字引數,指定重複生成序列的次數。
**如下:
1def 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)
例子**如下:
1import
itertools
2 a = (1, 2, 3)
3 b = ('
a', '
b', 'c'
)4 c =itertools.product(a,b)
5for elem inc:6
(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...