首頁 >後端開發 >Python教學 >Python程式用於從兩個陣列中找到不同的元素

Python程式用於從兩個陣列中找到不同的元素

WBOY
WBOY轉載
2023-09-15 13:25:02881瀏覽

Python程式用於從兩個陣列中找到不同的元素

在程式設計中,陣列是一種資料結構,用於儲存同質資料元素的集合。數組中的每個元素都由一個鍵或索引值來標識。

Python 中的陣列

Python 沒有特定的資料類型來表示陣列。相反,我們可以將 List 用作數組。

[1, 4, 6, 5, 3]

從兩個陣列中尋找不同元素意味著識別兩個給定陣列之間的唯一元素。

輸入輸出場景

假設我們有兩個具有整數值的陣列 A 和 B。並且產生的數組將具有與兩個數組不同的元素。

Input arrays:
A = [1, 2, 3, 4, 5]
B = [5, 2, 6, 3, 9]
Output array:
[1, 6, 4, 9]

元素 1、6、4、9 是兩個陣列之間的唯一值。

Input arrays:
A = [1, 2, 3, 4, 5]
b = [3, 4, 5, 1, 2]
Output array:
[]

在給定的 2 個陣列中沒有找到不同的元素。

使用for迴圈

我們將對元素數量相等的陣列使用 for 迴圈。

範例

在下面的範例中,我們將使用列表理解方法定義 for 迴圈。

arr1 = [1, 2, 3, 4, 5]
arr2 = [5, 2, 6, 3, 9]

result = []
for i in range(len(arr1)):
   if arr1[i] not in arr2:
      result.append(arr1[i])
   if  arr2[i] not in arr1:
      result.append(arr2[i])
        
print("The distinct elements are:", result)

輸出

The distinct elements are: [1, 6, 4, 9]

這裡我們透過使用 for 迴圈和 if 條件來找到不同的元素。最初,迭代循環並驗證元素 arr1[i] 是否不存在於數組 arr2 中,然後如果該元素是不同元素,我們將將該元素附加到結果變數中。以同樣的方式,我們將第二個陣列元素驗證為第一個陣列。並將不同的元素儲存在結果陣列中。

範例

讓我們使用另一組陣列並找到不同的元素。

a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 1, 2]

result = []
for i in range(len(a)):
   if a[i] not in b:
      result.append(a[i])
   if  b[i] not in a:
      result.append(b[i])
        
print("The distinct elements are:", result)

輸出

The distinct elements are: []

在給定的陣列集中找不到不同的元素。

使用集合

找出兩個陣列中的不同元素與尋找兩個集合之間的對稱差異非常相似。透過使用 Python Sets 資料結構及其屬性,我們可以輕鬆識別兩個陣列中的不同元素。

範例

首先,我們將列表轉換為集合,然後在兩個集合之間應用對稱差異屬性 ^ 來取得不同的元素。

a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7, 8]
result = list((set(a) ^ set(b)))
if result:
    print("The distinct elements are:", result)
else:
    print("No distinct elements present in two arrays")

輸出

The distinct elements are: [1, 2, 6, 7, 8]

我們也可以使用 set.symmetry_difference() 方法來找出兩個陣列中的不同元素。 symmetry_difference() 方法傳回給定集合中存在的所有唯一項。

文法

set_A.symmetric_difference(set_B)

範例

讓我們來看一個從兩個陣列中取得不同元素的範例。

a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7, 8]

result = list(set(a).symmetric_difference(set(b)))

if result:
    print("The distinct elements are:", result)
else:
    print("No distinct elements present in two arrays")

輸出

The distinct elements are: [1, 2, 6, 7, 8]

這裡我們使用 symmetry_difference() 方法來取得 A 和 B 的對稱差到結果變數。然後使用list()函數再次將唯一元素集轉換為列表。

範例

如果沒有找到不同的元素,則 symmetry_difference() 方法將傳回空集合。

a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 1, 2]

result = list(set(a).symmetric_difference(set(b)))

if result:
    print("The distinct elements are:", result)
else:
    print("No distinct elements present in two arrays")

輸出

No distinct elements present in two arrays

在上面的範例中,所有元素都是公共元素。這樣 symmetry_difference() 方法就回傳空集合。

以上是Python程式用於從兩個陣列中找到不同的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除