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)
自己动手试一试 »