查找列表中第二大数字的 Python 程序
在本文中,我们将学习以下给定问题语句的解决方案。
问题语句 - 给定一个列表,我们需要显示该列表中第二大的数字。
有三种方法可以解决此问题 -
方法 1 - 我们使用 set() 函数和 remove() 函数
示例
list1 = [11,22,1,2,5,67,21,32] # to get unique elements new_list = set(list1) # removing the largest element from list1 new_list.remove(max(new_list)) # now computing the max element by built-in method? print(max(new_list))
输出
32
方法 2 - 我们使用 sort() 方法和负数索引
示例
list1 = [11,22,1,2,5,67,21,32] # using built-in sort method list1.sort() # second last element print("Second largest element in the list is:", list1[-2])
输出
Second largest element in the list is: 32
方法 3 - 我们使用蛮力法来获取第二大元素
示例
list1 = [11,22,1,2,5,67,21,32] #assuming max_ is equal to maximum of element at 0th and 1st index and secondmax is the minimum among them max_=max(list1[0],list1[1]) secondmax=min(list1[0],list1[1]) for i in range(2,len(list1)): # if found element is greater than max_ if list1[i]>max_: secondmax=max_ max_=list1[i] #if found element is greator than secondmax else: if list1[i]>secondmax: secondmax=list1[i] print("Second highest number is the list is : ",str(secondmax))
输出
Second highest number is the list is : 32
结论
在本文中,我们学习了如何查找列表中第二大的元素。
广告