第一种方法
您的方法可以奏效,但是每次迭代时必须记得重置循环计数器。
a = 0
b = 0
c = 0
while a <= 5:
while b <=3:
while c <= 8:
print a , b , c
c += 1
b += 1
c = 0
a += 1
b = 0
c = 0
第二种方式(Pythonic)
第一种方式涉及大量的繁琐工作。在Python中,指定一个数字范围的循环更简单的方法是使用for
循环和xrange
*迭代器:
for a in xrange(5+1):
for b in xrange (3+1):
for c in xrange (8+1):
print a,b,c
- 注意:在Python 3中,“
xrange
”现在被称为“range
”。(更准确地说,Python 3的range
替换了Python 2.x的range
和xrange
。)
第三种方法(最佳)
第二种方法可以通过应用itertools.product()
来简化,该方法接受多个可迭代对象(列表)并返回每个列表中每个元素的所有可能组合。
import itertools
for a,b,c in itertools.product(xrange(5+1),xrange(3+1),xrange(8+1)):
print a,b,c
想了解这些技巧以及更多内容,请阅读丹·古德格(Dan Goodger)的《像Python专家一样编写代码:Python习惯用法》。
for a in range(6)
。 - georg