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)
亲自试一试 »
交集
仅保留重复项
`intersection() 方法将返回一个新集合,其中仅包含两个集合中都存在的项。
实例
合并集合 set1 和 set2,但仅保留重复项:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
亲自试一试 »
您可以使用 & 运算符代替 intersection() 方法,即可获得相同的结果。
实例
Use & to join two sets:
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
difference() 方法将返回一个新集合,其中仅包含第一个集合中不存在于另一个集合中的元素。
实例
保留集合1中所有不在集合2中的元素:
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())也会保留第一个集合中不在另一个集合中的元素,但它会修改原始集合,而不是返回一个新集合。
实例
使用 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)
亲自试一试 »

