python range用法

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]

array = [1, 2, 5, 3, 6, 8, 4]

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]

那么两个[::]会是什么那?

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]

冒泡排序

1
2
3
4
5
6
7
8
array = [1, 2, 5, 3, 6, 8, 4]
for i in range(len(array) - 1, 0, -1):
print("i:"+str(i))
for j in range(0, i):
print(j)
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
print(array)