我正在Python中进行一个项目,该项目要求我在3元素列表上进行迭代;
for i in range(0,10):
for j in range(0,10):
for k in range(0,10):
basis_nums = [i,j,k]
然后我将basis_nums向量用于其他应用程序。然而,我想按如下方式来做;
iter_list = [1,1,1]
#[2,1,1]
#[3,1,1]
#.
#.
#.
#[9,1,1]
#[1,2,1]
#.
等等。并逐个增加列表元素,直到其;
iter_list = [9,9,9]
有什么建议我该怎么做吗?
你的意思是:
from itertools import product
for basis_nums in product(range(0,10), range(0, 10), range(0, 10)):
print(basis_nums)
itertools.product
会为您保存压痕深度。(注意:basis_nums
现在是tuples
,而不是lists
(。
或者在末尾有一个额外的repeat=3
:
for basis_nums in itertools.product(range(10),repeat=3):
print(basis_nums)
itertools.product
是将数学乘积算法嵌入到python中,itertools
模块还包含组合算法,如itertools.combination
,模块还包含置换算法,如itertools.permutation
。