我想做点什么
for a in [0..1]:
for b in [0..1]:
for c in [0..1]:
do something
但是,我可能有15个不同的变量。是否有更简单的方式
for a, b, c in [0..1]:
do something
感谢您的帮助
答案 0 :(得分:10)
import itertools
for a,b,c in itertools.product([0, 1], repeat=3):
# do something
答案 1 :(得分:3)
您可以迭代所有这些产品。使用itertools.product并传入您的范围。
import itertools
for i in itertools.product(range(2), range(3), range(2)):
print (i)
产量
(0, 0, 0)
(0, 0, 1)
(0, 1, 0)
(0, 1, 1)
(0, 2, 0)
(0, 2, 1)
(1, 0, 0)
(1, 0, 1)
(1, 1, 0)
(1, 1, 1)
(1, 2, 0)
(1, 2, 1)
答案 2 :(得分:1)
听起来你需要处理一个矩阵/变量列表。因此,最好(也是最快)的解决方案是使用矩阵/列表工具。
如:Python itertools
包。
正如其他人暗示的那样,itertools.product
可能就是你想要的。但是,请参阅完整列表:
http://docs.python.org/library/itertools.html