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”的方法,該方法將一個列表作為引數。
定義了一個包含三個無窮大浮點值的列表。
迭代列表中的值,如果列表中的數字不在無窮大數字列表中,則將列表中的值與無窮大列表的第一個元素進行比較。
如果列表元素更大,則輸出為數字、無窮大列表中的第一個和第二個值的列表。
對列表的所有三個無窮大值執行相同操作。
如果最終輸出中存在無窮大值,則顯示這些數字中的最大值作為輸出。
在函式外部,定義一個列表並在控制檯上顯示。
透過將此列表作為引數來呼叫該方法。
在控制檯上顯示輸出。
廣告