Python - 给定一个整数列表,查找是否存在第三大的数


当需要在一个整数列表中找到第三大的数时,定义一个方法,该方法将一个列表作为参数。它初始化一个浮点数列表为无穷大。遍历列表中的值,并与无穷大的值进行比较。根据结果,在控制台上显示输出。

示例

下面是相同内容的演示

def third_max_num(my_num):
   my_result = [float('-inf'), float('-inf'), float('-inf')]
   for num in my_num:
      if num not in my_result:
         if num > my_result[0]: my_result = [num, my_result[0], my_result[1]]
         elif num > my_result[1]: my_result = [my_result[0], num, my_result[1]]
         elif num > my_result[2]: my_result = [my_result[0], my_result[1], num]
   if float('-inf') in my_result:
      print(max(my_num))
   else:
      print(my_result[2])

my_list = [45, 31, 78, 9, 0, 54, 12, 18]
print("The list is :")
print(my_list)
print("The third maximum number is :")
third_max_num(my_list)

输出

The list is :
[45, 31, 78, 9, 0, 54, 12, 18]
The third maximum number is :
45

解释

  • 定义了一个名为“third_max_num”的方法,该方法将一个列表作为参数。

  • 定义了一个包含三个无穷大浮点值的列表。

  • 迭代列表中的值,如果列表中的数字不在无穷大数字列表中,则将列表中的值与无穷大列表的第一个元素进行比较。

  • 如果列表元素更大,则输出为数字、无穷大列表中的第一个和第二个值的列表。

  • 对列表的所有三个无穷大值执行相同操作。

  • 如果最终输出中存在无穷大值,则显示这些数字中的最大值作为输出。

  • 在函数外部,定义一个列表并在控制台上显示。

  • 通过将此列表作为参数来调用该方法。

  • 在控制台上显示输出。

更新于: 2021年9月20日

273 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告