如何在 Python 中查詢列表中的最大值

Rayven Esplanada 2022年12月21日 2020年11月24日 Python Python List
  1. 在 Python 中使用 for 迴圈查詢列表中的最大值
  2. 在 Python 中使用 max() 函式查詢列表中的最大值
  3. 在 Python 中查詢巢狀列表中的最大值
如何在 Python 中查詢列表中的最大值

本教程將演示如何在 Python 中查詢列表中的最大值。

本教程將涵蓋一些場景和資料型別,從簡單的整數列表到更復雜的結構,如陣列中的陣列。

在 Python 中使用 for 迴圈查詢列表中的最大值

Python for 迴圈可以通過比較陣列中的每個值並將最大的值儲存在一個變數中,從而找到列表中的最大值。

例如,讓我們宣告一個隨機整數的陣列,並列印出最大值。同時,宣告一個變數 max_value 來儲存最大值,並在迴圈結束後將其列印出來。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = None

for num in numbers:
    if (max_value is None or num > max_value):
        max_value = num

print('Maximum value:', max_value)

輸出:

Maximum value: 104

如果需要用最大值的索引來進一步操作輸出,只需使用 Python 函式 enumerate,它可以使 for 迴圈接受第二個引數,表示當前迴圈迭代的索引。

新增一個新變數 max_idx 來儲存最大值的最大索引。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = None
max_idx = None

for idx, num in enumerate(numbers):
    if (max_value is None or num > max_value):
        max_value = num
        max_idx = idx

print('Maximum value:', max_value, "At index: ", max_idx)

輸出:

Maximum value: 104 At index: 4

在 Python 中使用 max() 函式查詢列表中的最大值

Python 有一個預先定義的函式,叫做 max(),它可以返回一個列表中的最大值。

使用 max() 尋找最大值只需要一行程式碼。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = max(numbers)
print('Maximum value:', max_value)

輸出:

Maximum value: 104

如果你需要最大值的索引,我們可以呼叫 Python 列表中內建的 index() 函式。該函式將返回陣列中指定元素的索引。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = max(numbers)
print('Maximum value:', max_value, "At index:", arr.index(max_value))

輸出:

Maximum value: 104 At index: 4

使用 max() 在字串和字典列表中查詢最大值

函式 max() 還提供對字串列表和字典資料型別的支援。

對於一個字串列表,函式 max() 將返回最大的元素,按字母排序。字母 Z 是最大的值,A 是最小的值。

strings = ['Elephant', 'Kiwi', 'Gorilla', 'Jaguar', 'Kangaroo', 'Cat']

max_value = max(strings)
print('Maximum value:', max_value, "At index:", strings.index(max_value))

輸出:

Maximum value: Kiwi At index: 1

在 Python 中查詢巢狀列表中的最大值

一個更復雜的例子是在 Python 中尋找巢狀列表的最大值。

首先,我們在一個巢狀列表中宣告隨機值。

nst = [ [1001, 0.0009], [1005, 0.07682], [1201, 0.57894], [1677, 0.0977] ]

從這個巢狀列表中,我們想得到巢狀列表中第 2 個元素的最大值。我們還想把第 1 個元素列印出來,並把它當作一個索引。巢狀列表的處理方式更像是一個列表中的鍵值對。

為了找到這個複雜結構的最大值,我們可以使用函式 max() 及其可選的引數 key,它記下了巢狀列表中要比較的元素。

nst = [ [1001, 0.0009], [1005, 0.07682], [1201, 0.57894], [1677, 0.0977] ]

idx, max_value= max(nst, key=lambda item: item[1])

print('Maximum value:', max_value, "At index:",idx)

key 引數接受一個 lambda 函式,將允許函式 max() 返回一個鍵值對。

輸出:

Maximum value: 0.57894 At index: 1201

總而言之,本教程涵蓋了在 Python 中尋找不同型別列表中的最大值的不同方法。你可以在這裡閱讀更多關於函式 max() 及其不同引數的資訊。除了 max() 之外,還有一些內建的函式,如 min()all()any(),可以在 Python 中操作可迭代物件。

相關文章 - Python List

  • 在 Python 中將字典轉換為列表
  • 從 Python 列表中刪除某元素的所有出現
  • 在 Python 中從列表中刪除重複項
  • 如何在 Python 中獲取一個列表的平均值
  • Python 列表方法 append 和 extend 之間有什麼區別
  • 如何在 Python 中將列表轉換為字串