任务:给定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)是否只是对负数进行排序?(数字数组为[-100100]
我认为最好先用谷歌搜索一下:
这将从列表的后面获取元素(考虑下溢)-1表示最后一个元素,-2表示倒数第二个元素,依此类推
sort
中的reverse
关键字:https://docs.python.org/3/howto/sorting.html#ascending-and-descending此关键字按降序(而不是默认的升序)对列表进行排序
以以下数组为例:
arr[0]
将是5
,arr[1]
将是1
,arr[2]
将是7
,依此类推。arr[-1]
将是68
,arr[-2]
将是15
,arr[-3]
将是66
,依此类推。 当您编写arr[n]
(其中n是一个数字)时,python将使用arr的第n个元素(python计数不是以1开始,而是以0开始)。当您写入arr[-n]
时,python将把arr的后面的第n个元素(python反向计数以1开头)相关问题 更多 >
编程相关推荐