nums = [1,-200, 3, 777, 5, -8, 9, 15, -273, 2,66,99]
nums.sort() #升序 把nums列表的元素按从小到大排序
max_num = max(nums)
max_2nd = nums[-2] # 或者[10]
min_num = min(nums)
min_3th = nums[2] # 或者[-10]
print(max_num,max_2nd,min_num,min_3th)
nums = [1,-200, 3, 777, 5, -8, 9, 15, -273, 2,66,99]
nums.sort() #升序 把nums列表的元素按从小到大排序
max_num = max(nums)
max_2nd = nums[-2] # 或者[10]
min_num = min(nums)
min_3th = nums[2] # 或者[-10]
print(max_num,max_2nd,min_num,min_3th)
题目解析:
最大值,最小值我们可以很快用max,min指令做出,第二大和第三小我们怎么表示呢,上面我们已经按照升序排序了,我们可以借助字符位置索引,我们将元素从小到大排序,然后排序有两种方法 字符1: 从左到右 从零开始排序 字符2:从右到左 从负一开始.
题目中 第二大用字符1排序为[10] 用字符2排序为[-2]
第三小用字符1排序为[2] 用字符2排序为[-10]
字符1排序 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
升序排列 | -273 | -200 | -8 | 1 | 2 | 3 | 5 | 9 | 15 | 66 | 99 | 777 |
字符2排序 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |