itertools.product(*iterables[, repeat])
笛卡爾積
建立乙個迭代器,生成表示item1,item2等中的專案的笛卡爾積的元組,repeat是乙個關鍵字引數,指定重複生成序列的次數。
**如下:
def product(*args, **kwds):
# product('abcd', 'xy') --> ax ay bx by cx cy dx dy
# product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
pools = map(tuple, args) * kwds.get('repeat', 1)
result =
for pool in pools:
result = [x+[y] for x in result for y in pool]
for prod in result:
yield tuple(prod)
例子**如下:
import itertools
a = (1, 2, 3)
b = ('a', 'b', 'c')
c = itertools.product(a,b)
for elem in c:
print(elem)
(1, 'a')
(1, 'b')
(1, 'c')
(2, 'a')
(2, 'b')
(2, 'c')
(3, 'a')
(3, 'b')
(3, 'c')
itertools模組中的product方法
itertools模組中的product方法 itertools.product iterables repeat 笛卡爾積 建立乙個迭代器,生成表示item1,item2等中的專案的笛卡爾積的元組,repeat是乙個關鍵字引數,指定重複生成序列的次數。如下 1 def product args,k...
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...