#排序
numbers=[6,2,1,5,3,9]
for i in range(len(numbers)):
for j in range(i+1,len(numbers)):
if numbers[i]>numbers[j]:
numbers[i],numbers[j]=numbers[j],numbers[i] #快速交换
print(numbers)
print('----------->',i)
本来numbers=[6,2,1,5,3,9]
外层循环i=0时:内层循环 for j in range(1,6)
[2, 6, 1, 5, 3, 9] 比较原来6和2的大小,因为6>2,所以交换位置
[1, 6, 2, 5, 3, 9] 比较上一次结果2和1的大小,因为2>1,所以交换位置
[1, 6, 2, 5, 3, 9] 比较上一次结果1和5的大小,因为1<5,所以位置不变
[1, 6, 2, 5, 3, 9] 比较上一次结果1和3的大小,因为1<3,所以位置不变
[1, 6, 2, 5, 3, 9] 比较上一次结果1和9的大小,因为1<9,所以位置不变
-----------> 0 通过第一轮外层循环确保了第一个数字1是最小的
外层循环i=1时:
[1, 2, 6, 5, 3, 9] 比较上一次结果6和2的大小,因为6>2,所以交换位置
[1, 2, 6, 5, 3, 9]
[1, 2, 6, 5, 3, 9]
[1, 2, 6, 5, 3, 9]
-----------> 1 通过第二轮外层循环确保了第2个数字2是第2小的
外层循环i=2时:
[1, 2, 5, 6, 3, 9] 比较上一次结果6和5的大小,因为6>5,所以交换位置
[1, 2, 3, 6, 5, 9] 比较上一次结果5和3的大小,因为5>3,所以交换位置
[1, 2, 3, 6, 5, 9]
-----------> 2 通过第三轮外层循环确保了第3个数字是第3小的
外层循环i=3时:
[1, 2, 3, 5, 6, 9] 比较上一次结果6和5的大小,因为6>5,所以交换位置
[1, 2, 3, 5, 6, 9]
-----------> 3 通过第四轮外层循环确保了第4个数字5是第4小的
[1, 2, 3, 5, 6, 9]
-----------> 4
-----------> 5