Python – 每條記錄值列表中的最小值
題目要求我們找到每條記錄值列表中的最小值。因此,在本文中,我們將學習查詢每條記錄中最小值的不同方法。
理解問題
給定的問題要求我們找到每個子陣列的最小值。例如:假設我們有一個數組 `[[8,10,12], [12, 14, 16], [17, 18, 19]]`,在這個例子中,我們可以看到每個子陣列的最小值分別是 8、12、17,因為這些陣列是有序的。因此,所需的結果應該是 `[8, 12, 17]`。但是,我們將必須從每個未排序的子陣列中找到最小值。為了解決這個問題,我們將使用 Python 的不同方法和技術。
上述問題的邏輯
為了解決和理解給定的問題,我們首先將找到給定陣列中的最小值。為了找到給定陣列中的最小值,我們可以使用 Python 中的內建方法 `min` 函式來獲取列表或陣列中的最小值。
在第二種方法中,我們將使用 for 迴圈來查詢並附加給定子陣列的最小值。
在第三種方法中,我們將使用 `map` 方法和 `min` 函式來獲得所需的結果。
演算法 - 在陣列中使用 min 函式
步驟 1 - 在第一步中,我們需要建立一個名為 `min_in_record` 的函式。此函式還接受一個名為 `record` 的引數,該引數記錄專案。
步驟 2 - 由於我們已經定義了函式,現在我們將使用 `min` 函式來查詢陣列中存在的最小值並將其返回以顯示在輸出中。
步驟 3 - 現在,我們將使用 `print` 方法在控制檯上顯示所需的結果。
示例
def min_in_record(record):
# Return the minimum value
return min(record)
record = [[81,102,123], [124, 145, 166], [177, 188, 199]]
print("The minimum value found in the record - ", min_in_record(record))
輸出
The minimum value found in the record - [81, 124, 177]
演算法 - 使用 for 迴圈
步驟 1 - 由於我們必須在這個演算法中使用 for 迴圈來查詢每個子陣列中的最小值。所以首先我們將初始化一個包含子陣列的陣列,並將其命名為 `record`。
步驟 2 - 定義陣列後,我們需要初始化一個名為 `min_items` 的空陣列塊。此陣列將儲存上述陣列中每個子陣列的最小值。
步驟 3 - 現在,我們將使用 for 迴圈遍歷給定的輸入陣列。在這個迴圈內,我們將首先使用 `min` 函式獲取每個子陣列的最小值,並將該值儲存在一個名為 `min_item` 的單獨變數中。
步驟 4 - 在每個子陣列中找到 `min_item` 後,我們將這些值附加到上面建立的陣列中以儲存最小值。
步驟 5 - 在最後一步中,我們將列印 `min_items` 的值。
示例 - 使用 for 迴圈
record = [[81,102,123], [124, 145, 166], [177, 188, 199]] #initialize an empty array to store the minimum values min_items = [] #Iterate the array items for rec in record: min_item = min(rec) min_items.append(min_item) #Print the required result print(min_items)
輸出
[81, 124, 177]
演算法 - 使用 map 函式
步驟 1 - 在這個演算法中,我們將使用 `map` 函式,所以首先我們將定義一個包含子陣列的陣列,並將其命名為 `record`。
步驟 2 - 定義陣列後,我們將使用 `map` 函式來對映陣列中存在的所有專案,並藉助 `min` 函式,我們將獲得每個子陣列的最小值,並在獲得最小元素後,我們將使用 Python 中的 `list` 關鍵字將其轉換為列表。將結果儲存在 `min_items` 變數中。
步驟 3 - 在最後一步中,我們將使用 `min_items` 列印結果。
示例 - 使用 map 函式
#Initialize the array having subarrays record = [[81,102,123], [124, 145, 166], [177, 188, 199]] #Find the list of min items from the array min_items = list(map(min, record)) print(min_items)
輸出
[81, 124, 177]
複雜度
查詢每個記錄值列表中最小值的時間複雜度為 O(n * m),其中 n 是給定陣列的長度,m 是子陣列的長度。由於所有方法都迭代給定陣列的專案 n * m 次,因此結果複雜度為 O(n * m)。上述演算法的空間複雜度為 O(n),因為主陣列的大小為 n,我們為每個子陣列儲存最小值。
結論
因此,結論是,我們已經成功地建立了使用 Python 以不同方式獲取每條記錄中最小值的方法。我們使用了 Python 的各種內建方法,例如 `min`、`map`、`append`,以及 for 迴圈。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP