在Python中,可以使用清單將多個項目保存在單一變數中。 Python 中用於儲存資料集合的四種內建資料類型之一是清單;另外三個是元組、集合和字典,每一個都有獨特的用途。
方括號用於建立清單。 Python 中最有效的工具是列表,因為它們不一定是同類的。像整數、字串和物件這樣的資料類型都可以在一個列表中找到。由於清單是可變的,因此即使在建立清單之後也可以對其進行變更。
在 LIST1 或 LIST2 中但不在兩者中的元素集構成了兩個列表 LIST1 和 LIST2 之間的對稱差異。
在 python 中計算兩個列表之間的對稱差異有多種方法,我們將採用最有效的方法來找出相同的差異。
我們已將列表轉換為集合,然後在這些集合之間進行對稱差異。
建立清單
將清單轉換為集合
#列印轉換後集合的對稱差
列印清單的對稱差
在下面的程式中,使用「in」我們可以找到兩個清單之間的差異。 in 關鍵字有兩個功能。
確定某個值是否存在於字串、清單、元組、範圍等。
在 for 迴圈中重複遍歷清單。
L_1 = [11, 12, 13] L_2 = [12, 13, 42] L_3 = [3, 42, 5] # converting lists to set set_1 = set(L_1) set_2 = set(L_2) # now print the symmetric difference when # when the converted set is passed as a parameter print(set_1.symmetric_difference(set_2)) # now print the symmetric difference when list is # passed as a parameter by converting it to a set print(set_2.symmetric_difference(L_3))
{42, 11} {13, 3, 12, 5}
在這裡,我們建立了兩個列表,然後建立了一個空的臨時變數。然後我們使用 for 迴圈來迭代列表中的數字。 If 語句檢查數字是否常見,然後將元素附加到第一個建立的臨時變數。然後列印具有不同元素的清單。
list_1 = [1, 35, 20, 25, 70, 35, 80] list_2 = [25, 80, 35] temp_3 = [] for element in list_1: if element not in list_2: temp_3.append(element) print(temp_3)
[1, 20, 70]
在這種方法中,我們明確地將列表轉換為集合,然後使用減法運算子僅從另一個列表中刪除一個。前往 Python 中的集合以取得其他集合引用。這是與我們之前採用的策略類似的策略。唯一的區別是使用列表理解語法代替嵌套循環。
以下程式正在比較兩個清單:list_1 和 list_2。它從第二個列表建立一個集合,然後使用它過濾掉兩個列表中出現的任何值。結果是新的過濾清單 (temp_3),其中僅包含 list_1 中未出現在 SET_1 (list_2) 中的元素。
list_1 = [13, 15, 22, 25, 30, 54, 40] list_2 = [54, 45, 30, 13] SET_1 = set(list_2) temp_3 = [x for x in list_1 if x not in SET_1] print(temp_3)
[15, 22, 25, 40]
在此方法中,使用基本組合技術從兩個清單中複製元素,同時定期檢查它們是否存在於另一個清單中。
在下面的程式中 - 我們定義一個名為 Difference 的函數,它接受兩個列表作為參數。該函數會建立一個新列表 list_dif,其中包含兩個原始列表中都不存在的項目。然後它會列印出這個新列表以及兩個原始列表之間的差異。在此範例中,它印出 [1, 12, 25, 22, 30, 20]。
# this method helps to get difference of two lists # by not using set() def Difference(list1, list2): list_dif = [i for i in list_1 + list_2 if i not in list_1 or i not in list_2] return list_dif list_1 = [1, 12, 25, 22, 30, 65, 70] list_2 = [65, 20, 70] list_3 = Difference(list_1, list_2) print(list_3)
[1, 12, 25, 22, 30, 20]
對稱difference ()方法傳回第一組或第二組中的元素。與兩個集合的共享元素不同,此方法不傳回交集。
list_1 = [23, 18, 45, 25, 40, 23, 40] list_2 = [23, 40, 35] set_difference = set(list_1).symmetric_difference(set(list_2)) temp_3 = list(set_difference) print(temp_3)
[35, 45, 18, 25]
在本文中,我們使用了四種不同的方法透過 python 計算兩個列表之間的對稱差。每種方法都有一些獨特性和不同的處理任務的方式。
以上是Python程式計算兩個列表之間的對稱差集的詳細內容。更多資訊請關注PHP中文網其他相關文章!