Python - 合并集合
合并集合
在 Python 中,有几种方法可以合并两个或多个集合。
union()
和 update()
方法将合并来自两个集合的所有项。
intersection()
方法只保留重复项。
difference()
方法保留第一个集合中不在其他集合中的项。
symmetric_difference()
方法保留除重复项以外的所有项。
并集
union()
方法返回一个包含来自两个集合的所有项的新集合。
示例
将 set1 和 set2 合并到一个新的集合中
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
试试看 »
您可以使用 |
运算符代替 union()
方法,您将获得相同的结果。
连接多个集合
所有连接方法和运算符都可用于连接多个集合。
使用方法时,只需在括号中添加更多集合,并用逗号分隔。
示例
使用 union()
方法连接多个集合
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1.union(set2, set3, set4)
print(myset)
试试看 »
使用 |
运算符时,用更多 |
运算符分隔集合
示例
使用 |
连接两个集合
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1 | set2 | set3 |set4
print(myset)
试试看 »
连接集合和元组
union()
方法允许您将集合与其他数据类型(如列表或元组)连接起来。
结果将是一个集合。
注意: |
运算符仅允许您将集合与集合连接,而不能与其他数据类型连接,如使用 union()
方法。
更新
update()
方法将一个集合中的所有项目插入到另一个集合中。
update()
会更改原始集合,不会返回新的集合。
示例
update()
方法将 set2 中的项目插入 set1 中。
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
试试看 »
注意: union()
和 update()
都将排除任何重复项。
交集
仅保留重复项
intersection()
方法将返回一个新集合,该集合只包含两个集合中都存在的项目。
示例
连接 set1 和 set2,但只保留重复项
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
试试看 »
您可以使用 &
运算符代替 intersection()
方法,您将获得相同的结果。
示例
使用 &
连接两个集合
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 & set2
print(set3)
试试看 »
注意: &
运算符仅允许您将集合与集合连接,而不能与其他数据类型连接,如使用 intersection()
方法。
intersection_update()
方法也将仅保留重复项,但它将更改原始集合,而不是返回新集合。
示例
保留 set1
和 set2
中都存在的项目
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.intersection_update(set2)
print(set1)
试试看 »
值 True
和 1
被认为是相同的值。 False
和 0
也是如此。
示例
连接包含值 True
、False
、1
和 0
的集合,看看哪些被认为是重复项
set1 = {"apple", 1, "banana", 0, "cherry"}
set2 = {False, "google", 1, "apple", 2, True}
set3 = set1.intersection(set2)
print(set3)
试试看 »
差集
difference()
方法将返回一个新集合,该集合将只包含第一个集合中不在另一个集合中的项目。
示例
保留 set1 中所有不在 set2 中的项目
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.difference(set2)
print(set3)
试试看 »
您可以使用 -
运算符代替 difference()
方法,您将获得相同的结果。
示例
使用 -
连接两个集合
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 - set2
print(set3)
试试看 »
注意: -
运算符仅允许您将集合与集合连接,而不能与其他数据类型连接,如使用 difference()
方法。
difference_update()
方法也将保留第一个集合中不在另一个集合中的项目,但它将更改原始集合,而不是返回新集合。
示例
使用 difference_update()
方法保留不在两个集合中的项目
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.difference_update(set2)
print(set1)
试试看 »
对称差集
symmetric_difference()
方法将只保留不在两个集合中的元素。
示例
保留不在两个集合中的项目
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.symmetric_difference(set2)
print(set3)
试试看 »
您可以使用 ^
运算符代替 symmetric_difference()
方法,您将获得相同的结果。
示例
使用 ^
连接两个集合
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 ^ set2
print(set3)
试试看 »
注意: ^
运算符仅允许您将集合与集合连接,而不能与其他数据类型连接,如使用 symmetric_difference()
方法。
symmetric_difference_update()
方法也将保留所有重复项以外的项目,但它将更改原始集合,而不是返回新集合。
示例
使用 symmetric_difference_update()
方法保留不在两个集合中的项目
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.symmetric_difference_update(set2)
print(set1)
试试看 »