已知列表 nums = [1, -200, 3, 777, 5, -8, 9, 15, -273, 2,66,99],请编写程序找出其中的最大、第二大、最小、第三小的元素,并输出这些元素。

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排序01234567891011
 升序排列-273-200-812359156699777
字符2排序-12-11-10-9-8-7-6-5-4-3-2-1

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值