有人能解释一下发生了什么吗 当我运行下面的python代码片段时?在
import itertools
def prob():
testlists = itertools.combinations([1,2,3,4,5,6,7,8,9,0],4)
for itervalue in range(5,50):
for tlist in testlists:
print itervalue
我预期的行为是将itervalue从5到50的每个值多次打印到屏幕上(testlist中的每个列表一次)。例如,如果我将测试列表定义为。在
^{pr2}$实际上,只有第一个itervalue被打印到输出(5被打印出数百次)。例如:
5
5
5
#and so on
这里到底发生了什么?一般来说,我对python和动态语言还不熟悉。谢谢你的帮助。在
我在运行python2.6.6和2.7.3的计算机上进行了测试。在
嗯, 问题是您的testlist只能循环一次,因为它不是一个list/tuple而是一个生成器。因此,内部循环只运行一次。在
更改代码:
相关问题 更多 >
编程相关推荐