在 Python 中,有几种方法可以合并两个或多个集合。您可以使用union()
方法,该方法返回一个包含两个集合中所有项的新集合,或使用update()
方法,将一个集合中的所有项插入另一个集合中:
示例,union()
方法返回一个包含两个集合中所有项的新集合:
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
示例,update()
方法将set2
中的项插入到set1
中:
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
保留重复项,intersection_update()
方法将保留仅存在于两个集合中的项。
示例,保留仅存在于集合x
和集合y
中的项:
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
x.intersection_update(y)
print(x)
intersection()
方法将返回一个新的集合,其中仅包含两个集合中都存在的项。
示例,返回一个集合,其中包含仅在集合x
和集合y
中存在的项:
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.intersection(y)
print(z)
保留所有项,但不包括重复项,symmetric_difference_update()
方法将保留仅在两个集合中不存在的元素。
示例,保留两个集合中不存在的项:
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
x.symmetric_difference_update(y)
print(x)
symmetric_difference()
方法将返回一个新集合,其中包含两个集合中都不存在的元素。
示例,返回一个集合,其中包含两个集合中都不存在的所有元素:
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.symmetric_difference(y)
print(z)
注意:在集合中,True 和 1 被视为相同的值,并被视为重复项:
示例,True 和 1 被视为相同的值:
x = {"apple", "banana", "cherry", True}
y = {"google", 1, "apple", 2}
z = x.symmetric_difference(y)
print(z)
Python 提供了一组内置方法,您可以在集合上使用这些方法。
方法 | 描述 |
---|---|
add() |
向集合添加元素 |
clear() |
从集合中删除所有元素 |
copy() |
返回集合的副本 |
difference() |
返回包含两个或多个集合之间差异的集合 |
difference_update() |
从这个集合中移除另一个指定集合中包含的项 |
discard() |
删除指定项 |
intersection() |
返回一个集合,该集合是两个其他集合的交集 |
intersection_update() |
删除此集合中不在其他指定集合中存在的项 |
isdisjoint() |
返回两个集合是否具有交集或不具有交集 |
issubset() |
返回另一个集合是否包含此集合或不包含 |
issuperset() |
返回此集合是否包含另一个集合或不包含 |
pop() |
从集合中删除一个元素 |
remove() |
删除指定元素 |
symmetric_difference() |
返回一个集合,其中包含两个集合的对称差异 |
symmetric_difference_update() |
将来自此集合和另一个集合的对称差异插入 |
union() |
返回包含两个或多个集合的并集 |
update() |
使用此集合和其他集合的并集来更新集合 |
希望这些信息对您有所帮助!如果有任何问题或需要更多解释,请随时提问。
为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:
公众号搜索Let us Coding
,知乎,开源中国,CSDN,思否,掘金,InfoQ,简书,博客园,慕课,51CTO,helloworld,腾讯开发者社区,阿里开发者社区
看完如果觉得有帮助,欢迎点赞、收藏和关注