任何人都可以解释发生了什么 当我运行下面的python片段?奇怪的python嵌套for循环行为
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
我的预期行为将是从5至50 itervalue的每个值要被打印在屏幕上多次(一次用于每个testlists列表)。例如,如果我将测试列表定义为,就会发生这种情况。
testlists = [[1,2,3],[5,2,1],[3,2,9]]
实际情况是,只有第一个itervalue被打印输出(5个打印出来数百次)。 EX:
5
5
5
#and so on
这里究竟发生了什么?一般来说,我是Python和动态语言的新手。谢谢你的帮助。
我在运行python 2.6.6和2.7.3的计算机上测试了这个。
也许你应该不是打印'tlist'。看看你的循环 – jamylak
你有错误的方式循环。 – Volatility
不,这是故意的行为。我的实际问题更大,我需要访问itervalue。事实上,itervalue在嵌套循环内不会增加,这让我感到困惑。虽然谢谢! – vancan1ty