python初级(302) 7 列表(排序练习)
一、复习:arr = [2, 7, 3, 5]
1 append(1), arr = [2, 7, 3, 5, 1]
2 remove(7), arr = [2, 3, 5, 1]
3 [1:3] 分片, brr = [3, 5]
二、 选择排序
[3, 10, 2, 7, 16]
第1次:[3, 10, 2, 7, 16]找出2, 放入新数组中[2]
第2次:[3, 10, 7, 16]找出3, 追加到新数组中[2, 3]
第3次:[10, 7, 16]找出7,追加到新数组中[2, 3, 7]
第4次:[10, 16]找出10,追加到新数组中[2, 3, 7, 10]
第5次:[16]找出16, 追加到新数组中[2, 3, 7, 10, 16]
排序完成
关键点:找到最小值
将arr[0]当作最小值num,然后从第1个开始直到最后,与之相比,小于num的就赋给num,最后将num返回过来。
代码:
def get_min(arr): num = arr[0] for i in range(1, len(arr)): if arr[i] < num: num = arr[i] return num
num = get_min([3, 9, 8, 4])
print(num)
num2 = get_min([9, 5, 7, 2, 10, 1])
print(num2)
num3 = get_min([15 18, 2, 3])
print(num3)
三、课后练习
找到最大值, 定义一个函数get_max(arr), 功能为找到队列中的最大值
函数写完后的验证代码为:
num = get_max([3, 9, 8, 4]) print(num) num2 = get_max([9, 5, 7, 2, 10, 1]) print(num2) num3 = get_max([15 18, 2, 3]) print(num3)