Pythin基础习题
给定一个数组,找出其中最小的K个数。例如数组元素是(4,5,1,6,2,7,3,8)这8个数字,则最小的4个数字是1,2,3,4.如果K>数组的长度,那么返回一个空的数组。
解题思路:
1,先内部给出数组,sorted排序,检查运行结果:
num_list = [4,5,1,6,2,7,3,8]
num_list1 = sorted(num_list)
print(num_list1)
运行结果:
[1, 2, 3, 4, 5, 6, 7, 8]
2,内部定义K以及目标列表target_list,判断K是否超过数组长度,若不超过,取排序后列表的前K个值写入目标列表。若超过,则不做任何操作,输出空目标列表:
num_list = [4,5,1,6,2,7,3,8]
K = 4
target_list = []
if K in range(0,len(num_list)):
num_list1 = sorted(num_list)
target_list = num_list1[0:K]
print(num_list1)
print(target_list)
else:
pass
运行结果:
[1, 2, 3, 4]
3,完善人机交互,input列表及K值
num_list = input('请给定一个数组:')
# num_list = [4,5,1,6,2,7,3,8]
K =