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() 更改原始集合,而不返回新集合。
示例
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)
自己动手试一试 »