关于Python中集合set的交集和并集操作方法,下面是详细的介绍。
集合set的交并集
Python的集合set是一种无序、不重复的元素集,支持交、并、差、对称差等多种数学运算。其中最基础的就是交集和并集,下面分别进行介绍:
交集操作
交集操作用符号&
来表示,返回两个集合中共有的元素集合。例如:
set1 = set([1, 2, 3, 4])
set2 = set([3, 4, 5, 6])
result = set1 & set2
print(result) # 输出 {3, 4}
解释一下,集合set1和set2中都有3和4这两个元素,因此它们的交集就是{3, 4}。
并集操作
并集操作用符号|
表示,返回两个集合中所有的不重复的元素集合。例如:
set1 = set([1, 2, 3, 4])
set2 = set([3, 4, 5, 6])
result = set1 | set2
print(result) # 输出 {1, 2, 3, 4, 5, 6}
解释一下,集合set1和set2中共有的元素是3和4,其他元素都不相同,因此它们的并集就是{1, 2, 3, 4, 5, 6}。
示例说明
以上是交集和并集的基本操作方法,下面用两个示例分别说明。
示例1
假设我们有两个列表,希望得到它们的交集和并集。这个时候可以先将列表转换成集合,再进行操作。例如:
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
set1 = set(list1)
set2 = set(list2)
intersection = set1 & set2 # 交集操作
union = set1 | set2 # 并集操作
print("交集:", intersection)
print("并集:", union)
输出结果如下:
交集: {3, 4}
并集: {1, 2, 3, 4, 5, 6}
示例2
假设我们有一个需要去重的文本文件,每行都是一个字符串。使用Python可以很方便地完成去重工作,只需要将每行转换成集合,然后使用并集操作。示例代码如下:
with open("text.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
lines_set = [set(line.strip()) for line in lines if line.strip()] # 将每行转换成集合,并去掉空行
result_set = set.union(*lines_set) # 并集操作
result_list = list(result_set)
result_list.sort()
print(result_list)
假设text.txt的内容如下:
hello world
world is beautiful
beautiful is world
去重之后的结果就是[' ', 'b', 'd', 'e', 'f', 'h', 'i', 'l', 'o', 'r', 's', 't', 'u', 'w']
,这些字符在文本中都只出现了一次。
以上就是关于Python集合set的交集和并集操作方法的详细介绍,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python集合set的交集和并集操作方法 - Python技术站