Python程序如何实现在列表中查找第二大数字()

本文概述

  • Python3
  • Python3
  • Python3
  • Python3
给定一个数字列表, 任务是编写一个Python程序来查找给定列表中的第二大数字。
例子:
Input: list1 = [10, 20, 4] Output: 10Input: list2 = [70, 11, 20, 4, 100] Output: 70

方法1:排序是一种简单但不理想的方法。下面给出的是O(n)算法来执行相同的操作。
Python3
# Python program to find second largest # number in a list # list of numbers - length of # list should be at least 2 list1 = [ 10 , 20 , 4 , 45 , 99 ] mx = max (list1[ 0 ], list1[ 1 ]) secondmax = min (list1[ 0 ], list1[ 1 ]) n = len (list1) for i in range ( 2 , n): if list1[i]> mx: secondmax = mx mx = list1[i] elif list1[i]> secondmax and \ mx ! = list1[i]: secondmax = list1[i] print ( "Second highest number is : " , \ str (secondmax))

输出如下
Second highest number is :45

方法2:按升序对列表进行排序, 并打印列表中的倒数第二个元素。
Python3
# Python program to find largest # number in a list # list of numbers list1 = [ 10 , 20 , 4 , 45 , 99 ] # sorting the list list1.sort() # printing the second last element print ( "Second largest element is:" , list1[ - 2 ])

输出如下
Second largest element is: 45

方法3:通过从列表中删除最大元素
Python3
# Python program to find second largest # number in a list # list of numbers list1 = [ 10 , 20 , 4 , 45 , 99 ] # new_list is a set of list1 new_list = set (list1) # removing the largest element from temp list new_list.remove( max (new_list)) # elements in original list are not changed # print(list1) print ( max (new_list))

输出如下
45

方法4:
在用户提供的输入中查找最大列表元素
Python3
# Python program to find second largest # number in a list # creating empty list list1 = [] # asking number of elements to put in list num = int ( input ( "Enter number of elements in list: " )) # iterating till num to append elements in list for i in range ( 1 , num + 1 ): ele = int ( input ( "Enter elements: " )) list1.append(ele) ''' # sort the list list1.sort()# print second maximum element print("Second largest element is:", list1[-2]) ''' # print second maximum element using sorted() method print ( "Second largest element is:" , sorted (list1)[ - 2 ])

【Python程序如何实现在列表中查找第二大数字()】输出如下:
Enter number of elements in list: 4 Enter elements: 12 Enter elements: 19 Enter elements: 1 Enter elements: 99 Second Largest element is: 19

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读