什么是嵌套for循环?

2024-10-06 07:51:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一些“nested for loops”的示例,下面的代码作为示例给出。但从技术上讲,这不是一个for的循环吗?在

xLimits = range(getWidth(pic))
for x in xLimits:
    pixel = getPixelAt(pic, x, 0)
    setColor(pixel, green)

巢状结构不会像这样吗?在

^{pr2}$

有人能同意还是不同意我的意见?在

我知道这可能不重要,但如果我没有正确看待这一点,我想知道为什么。在


Tags: 代码in示例forrangegreen结构nested
3条回答

下面的例子是一个嵌套的for循环。我想信息的作者对另外两个函数[getPixelAt()或setColor(,)]有更多的了解,这两个函数构成了for循环,从而使示例嵌套,至少从效率(Big O)的角度来看是这样的。在

正如您所想,嵌套的for循环是另一个for循环中的for循环。您给出的第一个示例不是嵌套的for循环,但第二个示例是。在

嵌套循环(任何类型)是循环中的循环。重要的是要认识到内循环将在外循环的每次迭代中重新运行。在

例如:

for i in xrange(3):
    for j in xrange(2):
        print 'i={0} j={1}'.format(i,j)

输出:

^{pr2}$

所以你的理解是完全正确的。第一个示例不是嵌套循环,而第二个示例是。在

您可以考虑从for循环中调用带有for循环的函数,一个“嵌套for循环”,尽管我永远不会这样称呼它:

def foo(r):
    for i in r:
        do_something()

for x in xrange(20):
    foo( xrange(x) )

相关问题 更多 >