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("名单是:")
print(my_list)
print("第三个最大数字是:")
third_max_num(my_list)
输出结果
名单是:
[45, 31, 78, 9, 0, 54, 12, 18]
第三个最大数字是:
45

解释

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

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

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

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

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

  • 如果最终输出中最终出现无限值,则这些数字中的最大值将显示为输出。

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

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

  • 输出显示在控制台上。

猜你喜欢