People who use Python know that the range () function is handy, and when you use him today, you find a lot of details that you've seen but forgotten. Here's a record of range (), review the list's slide, and finally analyze a fun bubbling program.
Here's a record:
>>> range(1,5) #代表从1到5(不包含5)[1, 2, 3, 4]>>> range(1,5,2) #代表从1到5,间隔2(不包含5)[1, 3]>>> range(5) #代表从0到5(不包含5)[0, 1, 2, 3, 4] |
And look at the list operation:
array =[1, 2, 5, 3, 6, 8, 4]#其实这里的顺序标识是[1, 2, 5, 3, 6, 8, 4](0,1,2,3,4,5,6)(-7,-6,-5,-4,-3,-2,-1)>>> array[0:] #列出0以后的[1, 2, 5, 3, 6, 8, 4]>>> array[1:] #列出1以后的[2, 5, 3, 6, 8, 4]>>> array[:-1] #列出-1之前的[1, 2, 5, 3, 6, 8]>>> array[3:-3] #列出3到-3之间的[3] |
Then two [::] What would it be?
>>> array[::2][1, 5, 6, 4]>>> array[2::][5, 3, 6, 8, 4]>>> array[::3][1, 3, 4]>>> array[::4][1, 6] 如果想让他们颠倒形成reverse函数的效果>>> array[::-1][4, 8, 6, 3, 5, 2, 1]>>> array[::-2][4, 6, 5, 1] |
Feel yourself understand, then a bubble it:
array =[1, 2, 5, 3, 6, 8, 4]fori in range(len(array) -1, 0, -1): printi for j inrange(0, i): printj ifarray[j] > array[j +1]: array[j], array[j +1] =array[j +1], array[j]printarray |
One line of view:
Line 1:array = [1, 2, 5, 3, 6, 8, 4] A disorderly list There's nothing to explain.
Line 2:for I in range (len (array)-1, 0,-1): This is the second of the example given above, we replace it with a range (6,1,-1), meaning 6 to 1 intervals-1, which is the range of flashbacks (2,7,1), These values are then looped to I, then the value of I will be [6, 5, 4, 3, 2]
Line 3:for J in range (0, I): This is a loop-assigned value to J,J will be [0, 1, 2, 3, 4, 5][0, 1, 2, 3, 4][0, 1, 2, 3][0, 1, 2][0, 1]
Then the top two loops nested together will be
I------------6
J------------0j------------1j------------2j------------3j------------4j------------5
I------------5
J------------0j------------1j------------2j------------3j------------4
I------------4
J------------0j------------1j------------2j------------3
I------------3
J------------0j------------1j------------2
I------------2
J------------0j------------1
Line 4:if Array[j] > array[j + 1]:
>>> array = [1, 2, 5, 3, 6, 8, 4]
>>> Array[0]
1
>>> Array[1]
2
>>> Array[2]
5
>>> Array[3]
3
>>> Array[4]
6
>>> Array[5]
8
>>> Array[6]
4
In fact, this is the use of this order of the array = [1, 2, 5, 3, 6, 8, 4] Sort
Line 5:array[j], array[j + 1] = array[j + 1], Array[j] Replace assignment
Line 6: Print out
In fact, to save things, the sort () function can be done in one sentence ....
--eof--
Verbose recording Python's range () function usage