Python 检查两个集合是否相等
Python是一种解释性的、面向对象的、高级的编程语言,具有动态语义。由Gudio Van Rossum在1991年开发。它支持多种编程范式,包括结构化、面向对象和函数式编程。
什么是集合
集合是一种无序的集合数据类型,可以迭代、可变且没有重复元素。集合用{}表示。集合是检查特定元素是否存在于集合中的高度优化方法。
集合是通过将所有项或元素放置在大括号{}内,用逗号分隔,或使用内置 “set () “函数创建的。
它可以有各种类型的项,它们可以是不同类型的,如整数、浮点数、元组、字符串等。
例如 –
集合是可变的,这意味着我们可以向其中添加、删除和重复元素。它允许通过使用不同的运算符从列表中索引和切片元素,就像字符串一样。
name={"ahana","jacob","yana","ankush","umang"}
混合集合 −
name= {1,"ahana",2, "jacob",3,"yana",4,"ankush",5,"umang"}
如何检查两个集合是否相等
在这里,我们给出了两个数字列表,并且我们必须使用不同的方法来检查它们是否相等。有四种方法可以从列表中删除一个子集。
- 使用
==
运算符 -
使用“all()”
-
使用“issubset()”
-
使用“symmetric_difference()
要检查两个集合是否相等,可以使用Python中的几种方法。
- 第一种方法是使用“
==
”运算符。 这将确定两个集合是否具有相同的元素和顺序。如果是这样,则它们是相等的;否则,它们不相等。 -
检查集合相等的另一种选择是使用 all() 函数。这将将一个集合中的每个元素与另一个集合中的相应元素进行比较,并且仅当它们完全匹配时返回True。
-
检查两个集合是否相等的第三种方法是使用issubset()。该函数仅在一个集合是另一个集合的子集时返回True,即它包含另一个集合的所有元素。
-
最后,您可以使用 symmetric_difference() 函数来确定两个集合是否相等。如果两个集合相等,则返回一个空集;否则,返回一个包含仅出现在一个集合中而不出现在另一个集合中的元素的非空集合。
使用==
运算符
==
运算符 用于比较两个对象的值或相等性。它们也称为“关系运算符”。如果两个操作数的值相等,则条件为真(a==b
)。如果两个操作数的值不相等,则条件为假(a不等于b)。
示例
在下面的例子中,我们使用运算符来比较两个对象的值或相等性,并比较了name==rollno
。
name= {1,2,3,4,5}
rollno= {1,2,3,4,5}
print(name==rollno)
输出
执行上述程序后,我们得到如下所示的输出,我们比较了name==rollno
,并且它们的输出为true,因为它们具有相同的元素集。
True
示例
下面给出的示例使用 ==
运算符” 比较两个对象的值或相等性。
name={"karan","kunnal","aditi","janshna"}
rollno={1,2,3,4,5}
print(name==rollno)
输出
在执行上述程序时,我们可以得到如下输出,它返回false,因为它的元素集合不相同。
False
使用all()
all()函数 返回True,如果可迭代对象中的所有项目都为真,否则返回false。如果可迭代对象为空,则all()函数也会返回true。
示例
在下面的示例中,我们在程序中使用all()函数来检查两个集合是否相等。该程序检查集合num1的所有元素是否相等。如果是,则打印”所有元素都相等”,否则打印”所有元素都不相等”。
num1={1,2,3,4,5}
result=all(element==num1 for element in num1)
if (result):
print("all the elements are equal are equal")
else:
print("all the elements are not equal")
输出
在执行以上程序时,我们在Web浏览器上看到以下示例被显示出来。
all the elements are not equal
示例
以下示例检查一个集合的所有元素是否相等。检查集合:num1={1,1,1}
。 创建一个结果变量,并根据num1的所有元素是否相等赋予一个布尔值。 如果是,则结果为True,并打印”所有元素相等”。否则,结果为False,打印”所有元素不相等”。
num1={1,1,1}
result=all(element==num1 for element in num1)
if (result):
print("all the elements are equal are equal")
else:
print("all the elements are not equal")
输出
all the elements are equal
使用Issubset()
issubset()方法接受一个参数(b-a),表示“b”是“a”的超集,意味着“b”包含了“a”的所有子集。如果两个操作数的值相等,则条件为真(a==b
)。如果两个操作数的值不相等,则条件为假(a ≠ b
)。
示例
以下示例使用issubset()方法来判断两个集合是否相等。
a={1,2,3}
b={1,2,3,4,5}
print(a.issubset(b))
输出
执行以上程序后,我们可以看到如下输出:
True
示例
a={1,2,3}
b={1,2,3,4,5}
print(b.issubset(a))
输出
执行以上程序后,返回false,因为集合“b”不是集合“a”的子集。
False
这里,我们有两个程序,在这两个程序中,我们使用issubset()方法来检查“a”和“b”是否是彼此的子集。由于“a”的所有元素都存在于“b”中,所以输出结果为true。另一方面,集合“b”不是“a”的子集。因此,我们使用issubset(a)得到false。
使用symmetric_difference()
函数 symmetric_difference() 返回两个集合之间的差异。在Python中,两个集合的差异等于两个集合中元素数量的差异。symmetric_difference将返回一个含有零个元素的集合。然后我们可以检查两个集合的长度是否相等。
示例
这个例子测试两个集合num1和num2是否相等。使用symmetric_difference方法找到两个集合之间的差异。
如果这个差异为零,则打印“Both sets are identical”,表示两个集合包含相同的元素。否则,打印“sets are not equal”。
num1={1,2,3}
num2={1,2,3,4,5}
if len(num1.symmetric_difference(num2))== 0:
print("both sets are equal")
else:
print("sets are not equal")
输出
sets are not equal
示例
在下面的示例中使用symmetric_difference方法来找到两个集合之间的差异,在这里,差异不为零。因此,它返回false。
num1={1,2,3,4,5}
num2={1,2,3,4,5}
if len(num1.symmetric_difference(num2))== 0:
print("both sets are equal")
else:
print("sets are not equal")
输出
在执行上述程序时,我们得到了以下输出结果,两个集合之间的差异不为零,这意味着它们不相等。
both sets are equal
结论
在本文中,我们简要讨论了四种用于检查两个集合是否相等的不同方法。