n = int(input())
arr = list(map(int, input().split()))
s = set(arr)
print(s)
print(list(s)[len(s) - 2])
输入>:4
57 57 -57 57
:
{57, -57}
57
我试图找到给定列表中的第二大数。在上面的代码中,集合是反向排序的,这是不应该的。为什么会这样?
Aset
没有任何类型的已定义顺序。您需要将集合转换为list
,然后显式地对其排序。sorted
将自动生成一个列表。
print(sorted(s)[-2] if len(s) >= 2 else None)