对arr[-1]和reverse的混淆
对arr[-1]和reverse的混淆
本问题已经有了答案:
任务:给定 n 个数,将它们存储在一个列表中并找到第二大的数。
我在 Github 上找到了一个 acisikta19 的解决方案:
n = int(input()) arr = list(map(int, input().split())) arr.sort() max1=arr[-1] arr.sort(reverse=True) for x in arr: if x!=max1: result = x print(result) break
我想问 max1=arr[-1] 是什么意思?特别是 -1 是什么意思?
其次,arr.sort(reverse=True) 是否只是对负数排序?(数字数组在 [-100,100]范围内)。
admin 更改状态以发布 2023年5月23日
我认为最好先在Google上搜索:
- 关于使用-1(负数)的索引: 负数列表索引?
这将从列表的末尾获取元素(类似于下溢)。 -1 表示最后一个元素,-2 表示倒数第二个元素,以此类推。
- 关于
sort
中的reverse
关键字: https://docs.python.org/3/howto/sorting.html#ascending-and-descending
这个关键字将列表按降序排列(而不是默认的升序排列)。