# 选择排序 a = [5,2,1,8,9,2,6,7] for i in range(0,len(a)-1): min_i = i # 设置最小值所对应的位置 for j in range(i+1, len(a)): if a[j] < a[min_i]: min_i = j # 更新最小值所对应的位置 a[i],a[min_i] = a[min_i],a[i] # 交换第i项和第最小值项 print(a) ''' a = [5,2,1,8,9,2,6,7] 第一轮 i = 0 min_i = 0 j = 1 a[1] < a[0]? min_i = 1 j = 2 a[2] < a[1]? min_i = 2 j = 3 a[3] < a[2]? min_i = 2 j = 4 a[4] < a[2]? min_i = 2 j = 5 a[5] < a[min_i]? min_i = 2 j = 6 a[j] < a[min_i]? min_i = 2 j = 7 a[j] < a[min_i]? min_i = 2 a[i],a[min_i]交换 [1,2,5,8,9,2,6,7] i = 1 min_i = 1 j = 2 a[j]