Python基础【day03】:集合进阶(四)
本节内容
1、关系测试(特殊符号)
1、交集
2、并集
3、差集
4、对称差集
5、是否是子集
6、是否是父集
2、基本操作
1、add
2、update
3、remove VS pop vs discard
4、len
5、x in s
6、x not in s
一、关系测试(特殊符号)
1、交集(&)
>>> name_1 = [1,2,3,4,7,8,7,10] >>> name_2 = [1,3,5,8,10] >>> name_1 = set(name_1) >>> name_2 = set(name_2) #结果输出 >>> name_1 & name_2 {8, 1, 10, 3}
2、并集(|)
>>> name_1 = [1,2,3,4,7,8,7,10] >>> name_2 = [1,3,5,8,10] >>> name_1 = set(name_1) >>> name_2 = set(name_2) #结果输出 >>> name_1 | name_2 {1, 2, 3, 4, 5, 7, 8, 10}
3、差集(-)
>>> name_1 = [1,2,3,4,7,8,7,10] >>> name_2 = [1,3,5,8,10] >>> name_1 = set(name_1) >>> name_2 = set(name_2) #结果输出 >>> name_1 - name_2 {2, 4, 7}
4、对称差集(^)
>>> name_1 = [1,2,3,4,7,8,7,10] >>> name_2 = [1,3,5,8,10] >>> name_1 = set(name_1) >>> name_2 = set(name_2) #输出 >>> name_1 ^ name_2 {2, 4, 5, 7}
5、是否是子集(<=)
>>> name_1 = [1,2,3,4,7,8,10] >>> name_3 = [1,2,3,4] >>> name_1 = set(name_1) >>> name_3 = set(name_3) #输出 >>> name_3 <= name_1 True
6、是否是父集(>=)
>>> name_1 = [1,2,3,4,7,8,10] >>> name_3 = [1,2,3,4] >>> name_1 = set(name_1) >>> name_3 = set(name_3) #输出 >>> name_1 >= name_3 True
二、基本操作
1、添加(add())
>>> name_2 = [1,3,5,8,10] >>> name_2 = set(name_2) #添加已存在,不报错 >>> name_2.add(1) >>> name_2 {8, 1, 10, 3, 5} #添加不存在,添加一个新的数值 >>> name_2.add(11) >>> name_2 {1, 3, 5, 8, 10, 11}
2、添加多项(update())
>>> name_2 = [1,3,5,8,10] >>> name_2 = set(name_2) >>> name_2.update([12,13,14]) #输出结果 >>> name_2 {1, 3, 5, 8, 10, 12, 13, 14}
3、删除(remove(),pop(),discard())
①remove()
>>> name_2 = [1,3,5,8,10] >>> name_2 = set(name_2) >>> name_2 {8, 1, 10, 3, 5} >>> name_2.remove(1) #输出 >>> name_2 {8, 10, 3, 5} #删除不存在的元素,会报错 >>> name_2.remove(1) Traceback (most recent call last): File "<input>", line 1, in <module> KeyError: 1
特别提示:用remove删除时,当元素不存在,会报错
②pop()
>>> name_2 = [1,3,5,8,10] >>> name_2 = set(name_2) >>> name_2 {8, 1, 10, 3, 5} #输出 >>> name_2.pop() 8
特别提示:pop是随机删除集合中的某个元素,并且打印
③discard()
>>> name_2 = [1,3,5,8,10] >>> name_2 = set(name_2) >>> name_2.discard(10) #输出结果 >>> name_2 {8, 1, 3, 5} #删除不存在元素,不报错 >>> name_2.discard(10)
特别提示:用discard删除不存在的元素,不会出现报错
4、长度(len())
>>> name_1 = [1,2,3,4,7,8,7,10] >>> name_1 = set(name_1) #结果输出 >>> len(name_1) 7
5、x in s
测试 x 是否是 s 的成员
>>> name_1 = [1,2,3,4,7,8,7,10] >>> name_1 = set(name_1) #结果输出 >>> 1 in name_1 True
6、x not in s
测试 x 是否不是 s 的成员
>>> name_1 = [1,2,3,4,7,8,7,10] >>> name_1 = set(name_1) #输出 >>> 12 not in name_1 True
作者:罗阿红
出处:http://www.cnblogs.com/luoahong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。