- `-`计算集合之间的差集
- 1.语法要点
- 2.实操练习
- 什么是差集?
- 温馨提示
- 3.综合练习
- 对选修课集合进行交集、并集、差集运算
- 4.课后总结
-符号用来计算集合之间的差集。
-符号就是我们键盘上的减号。
set_1 - set_2 删除两个集合都有的元素,保留集合1特有的元素。
set_2 - set_1 删除两个集合都有的元素,保留集合2特有的元素。
顺序很重要,谁在前就保留谁特有的元素。
差集可以用数学中的减法进行理解,减数和被减数位置不一样结果不一样。
(文字抽象不能理解的,看完下面的实例就能理解了)
# 用set方法将字符串转变成集合
set_1 = set('123')
set_2 = set('345')
set_3 = set('456')
print('集合1:',set_1)
print('集合2:',set_2)
print('集合3:',set_3,'n')
print('*******用-计算集合之间的差集*******')
print('集合1与集合2的差集', set_1 - set_2)
print('集合2与集合1的差集', set_2 - set_1,'n')
print('集合2与集合3的差集', set_2 - set_3)
print('集合3与集合2的差集', set_3 - set_2,'n')
print('集合1与集合2、3的差集', set_1 - set_2 - set_3)
【终端输出】
集合1: {'2', '1', '3'}
集合2: {'4', '5', '3'}
集合3: {'4', '6', '5'}
*******用-计算集合之间的差集*******
集合1与集合2的差集 {'2', '1'}
集合2与集合1的差集 {'4', '5'}
集合2与集合3的差集 {'3'}
集合3与集合2的差集 {'6'}
集合1与集合2、3的差集 {'2', '1'}
什么是差集?
集合1含有元素1、2、3
集合2含有元素3、4、5
集合3含有元素4、5、6
集合1与集合2都有的元素是3,那集合1与集合2的差集是1、2。(以集合1为基准,删除2个集合都有的元素3后,保留集合1特有的元素1,2)。
集合1与集合2都有的元素是3,那集合2与集合1的差集是4、5。(以集合2为基准,删除2个集合都有的元素3后,保留集合2特有的元素4,5)。
集合2与集合3都有的元素是4,5,那集合2与集合3的差集是3。(以集合2为基准,删除2个集合都有的元素4,5后,保留集合2特有的元素3)。
集合2与集合3都有的元素是4,5,那集合3与集合2的差集是6。(以集合3为基准,删除2个集合都有的元素4,5后,保留集合3特有的元素6)。
集合1与集合2、3的差集:
先计算集合1与2的差集,得到元素1和元素2。
在用得到的元素与集合3进行差集运算。
得到的元素1、元素2和集合3没有相同的元素。
因此,最终得到的结果就是元素1和元素2。
所有的集合运算都要注意集合的先后顺序。
就像减法一样,减数和被减数是不能替换的。
上述例子中,集合1在-前后的结果是截然不同的,需要特别注意。
# 定义一个集合保存选择Python语言的学生姓名
python_name = {'张三','李四','王五','赵六'}
# 定义一个集合保存选择JAVA语言的学生姓名
# 用列表存储姓名
# 用set函数将列表转换为集合
java_name = set(['张三','李四','白敬亭','井柏然'])
print('本学期选择Python语言的学生有:',python_name)
print('本学期选择java语言的学生有:',java_name,'n')
# 输出选了两门课程的学生名字
print('交集运算(有2门选修课):',python_name & java_name)
# 输出有选修语言课的学生姓名
print('并集运算(有选修课):',python_name | java_name)
# 输出只选了Python课没选Java课的学生姓名
print('差集运算(只选Python):',python_name - java_name)
# 输出只选了java课没选python课的学生姓名
print('差集运算(只选Java):',java_name - python_name)
【终端输出】
本学期选择Python语言的学生有: {'张三', '李四', '王五', '赵六'}
本学期选择java语言的学生有: {'张三', '白敬亭', '李四', '井柏然'}
交集运算(有2门选修课): {'张三', '李四'}
并集运算(有选修课): {'白敬亭', '王五', '李四', '井柏然', '张三', '赵六'}
差集运算(只选Python): {'王五', '赵六'}
差集运算(只选Java): {'白敬亭', '井柏然'}
4.课后总结



