外部for循环在我的程序中做了什么?

时间:2016-04-25 03:06:23

标签: python python-3.x

有人可以告诉我下面程序中外部for循环的功能是什么:

Mylist = [4,67,3,7,65,3,56,] 
maxLengthList = 7

print ('The all Number for Buble Sort is:', Mylist)

for i in range(len(Mylist)-1,0,-1):
    for j in range(i):
        if Mylist[j]>Mylist[j+1]:
            temp = Mylist[j]
            Mylist[j] = Mylist[j+1]
            Mylist[j+1] = temp


print('After Buble Sort the Number are:',Mylist)

2 个答案:

答案 0 :(得分:0)

for循环将step向后(-1)从6开始(len(Mylist)-1)并停在1,即停止前的最后一个值(0)。请参阅range文档range(start, stop, step)

>>> range(len(Mylist)-1, 0, -1)
[6, 5, 4, 3, 2, 1]

答案 1 :(得分:0)

for i in range(len(Mylist)-1,0,-1):行中,range函数有三个参数。 len(Mylist)-1告诉我们范围的上限值。 0告诉我们范围的较低值。 -1是增量的大小,这意味着每次进入循环时我们不会增加1,而是减去一个。

所以我们将从循环中的第二个到最后一个值开始。 len(Mylist)-1-1。每次我们通过for循环,我们将减去1 0部分,直到我们结束1

参考文献说明。

  

范围(停止)

     

范围(开始,停止[,步骤])

     

这是一个多功能的功能   创建包含算术进度的列表。它最常用   在for循环中。参数必须是普通整数。如果是这一步   参数被省略,默认为0。如果起始参数是   省略,默认为[start, start + step, start + 2 * step, ...]。完整表单返回plain列表   整数start + i * step。如果是的话   积极的,最后一个元素是最小的start + i > * step小于   停;如果step为负数,则最后一个元素是大于stop的最小>>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) [0, 3, 6, 9] >>> range(0, -10, -1) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) [] 。 step不能为零(否则引发ValueError)。

     

示例:

(function($) {
   // DOM ready
})(jQuery);