Python程序用于从两个数组中找到不同的元素

WBOY
WBOY 转载
2023-09-15 13:25:02 334浏览

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,如有侵犯,请联系admin@php.cn删除