这是我的代码:
point = (3,6,9) # let all the elements of the tuple be none negative integers
def foo(point):
for i in range(point[0]+1):
for j in range(point[1]+1):
for k in range(point[2]+1):
yield (i,j,k)
我的问题是:
如果我事先不知道元组的长度怎么办?
如何使函数foo
将任何元组作为参数并执行相同的操作?例如如果point = (3,6,9,0,7)
怎么办?
答案 0 :(得分:2)
改为使用itertools.product()
:
from itertools import product
def foo(point):
for combo in product(*(range(i + 1) for i in point)):
yield combo