itertools模組中的product方法

2021-07-22 12:06:59 字數 869 閱讀 1752

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...