修改 Python 中相等的元組行
在本文中,我們將學習如何使用 Python 程式設計來修改相等的元組行。在處理資料時,有時也需要修改資料。因此,我們將根據記錄的相等性來修改相等的元組行資料。
理解問題
當前的問題是使用 Python 修改給定元組中相等的行。我們將有一個元組列表,我們的任務是根據給定列表中特定元組行的條件進行修改。讓我們看下面的例子來更好地理解這個問題:
list_tuple = [[(1, 2), (3, 4)], [(5, 6), (7, 8)], [(9, 10), (11, 12)]] #This is an example tuple list [(5, 6), (7, 8)] #This is the test data #add 2 in each number #output after modifying [[(1, 2), (3, 4)], [(7, 9), (9, 10)], [(9, 10), (11, 12)]]
上述問題的邏輯
為了解決這個問題,我們將輸入一個元組列表,我們需要對該列表執行給定的任務。之後,我們將使用給定輸入列表中的另一個測試資料。我們將根據某些條件修改此資料。在這裡,我們將對每一行的每個數字進行乘法運算。這裡,僅作為示例,我們將零索引數字乘以 2,將第一個索引數字乘以 4。乘法運算後,我們將此資料儲存在結果變數中以進行列印。
演算法
步驟 1 - 首先,我們需要定義一個名為 list_tuple 的元組列表。這將是修改資料的原始列表。
步驟 2 - 之後,我們將使用名為 test_data 的測試資料。
步驟 3 - 然後,如果 test_data 和 list_tuple 中的專案匹配,我們將第一列乘以 2,第二列乘以 4。並將結果儲存在 result 變數中。
示例
# Define original list tuple
list_tuple = [[(2, 40), (4, 15)], [(3, 10), (14, 7)], [(6, 19), (5, 17)]]
test_data = [(3, 10), (14, 7)]
# Modify the original data
result = [[(i[0] * 2, i[1] * 4) for i in list] if list == test_data else list for list in list_tuple]
print("List after modification : \n" + str(result))
輸出
List after modification : [[(2, 40), (4, 15)], [(6, 40), (28, 28)], [(6, 19), (5, 17)]]
複雜度
修改相等元組行的時效複雜度為 O(1)。演算法所花費的時間是恆定的,因為元組的大小是固定的。因為我們只迭代元組一次,所以複雜度是恆定的。修改元組行的空間複雜度為 O(n),其中 n 是給定元組列表的大小。當我們修改整個列表時,需要這個空間。在我們的解決方案中,所需空間為 O(m),其中 m 是我們正在修改的行的大小。
結論
在本文中,我們學習瞭如何使用 Python 修改相等的元組行。由於我們在測試資料中執行了常規操作,因此這種方法對於小規模資料是有效的。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP