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 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告