n = int(input('一共有几个元素?'))
a = []
for i in range(n):
a.append(int(input()))
def find_2(a):
a.sort(reverse=True)
return a[1]
# print(a)
print(find_2(a))
回答:
如果你想要找到一个列表中的第二大的数,可以使用以下代码:
lst = [4, 5, 2, 8, 9, 7]
#先排序(从小到大)
lst.sort()
# 取出倒数第二个数
second_largest = lst[-2]
print(second_largest)
这个代码首先对列表进行排序,并且取倒数第二个数,也就是第二大的数。输出结果应该是8。
如果你想要使用内置函数解决这个问题,可以使用以下代码:
lst = [4, 5, 2, 8, 9, 7]
# 通过集合去重然后排序
unique_nums = sorted(set(lst))
# 取出倒数第二个数
second_largest = unique_nums[-2]
print(second_largest)
这里使用了set()函数去重,并且进行了排序。这个代码也会输出结果8。
如果你想要在不排序的情况下找到第二大的数,可以使用以下代码:
lst = [4, 5, 2, 8, 9, 7]
# 使用max函数取出最大值,然后将其删除,然后再取出最大值即为第二大数
largest = max(lst)
lst.remove(largest)
second_largest = max(lst)
print(second_largest)
这个代码会先取出最大值,并将其删除。然后再取出最大值即为第二大的数,输出结果也是8。
希望这些代码可以帮助你解决问题!