文章目录
集合简介
集合(set)是一个无序的不重复元素序列,是可变数据类型。
由大括号包裹,元素由逗号隔开。
集合内的元素只能是不可变的,也就是说集合内不能由列表、字典、集合。
集合的两大功能
集合只能在 去重、关系运算中才能用到,但是去重、关系运算不止有集合能做到。
1. 去重
在集合里面不会出现重复的数字,因为它自带去掉重复元素的功能。
set_a = {'XWenXiang', 'good', 'nice', 'good', 'good'}
print(set_a)
输出结果
{'XWenXiang', 'nice', 'good'}
重复的元素被清除了。
2. 关系运算
判断俩个群体的差异性。
(1) 判断俩个集合的相同部分
代码示例
set_a = {'XWenXiang', 'good', 'nice'}
set_b = {'age', 'name', 'good'}
print(set_a & set_b)
输出结果
{'good'}
(2) 求集合 set_a 的单独部分(也就是除了共同部分的剩下)
代码示例
set_a = {'XWenXiang', 'good', 'nice'}
set_b = {'age', 'name', 'good'}
print(set_a - set_b)
输出结果
{'XWenXiang', 'nice'}
(3) 求集合 set_b 的单独部分
代码示例
set_a = {'XWenXiang', 'good', 'nice'}
set_b = {'age', 'name', 'good'}
print(set_b - set_a)
输出结果
{'name', 'age'}
(4) 求俩集合所有的值
代码示例
set_a = {'XWenXiang', 'good', 'nice'}
set_b = {'age', 'name', 'good'}
print(set_b | set_a)
输出结果
{'age', 'XWenXiang', 'name', 'good', 'nice'}
(5) 求俩个集合各自的部分(也就是除了共同的部分外的所有部分)
代码示例
set_a = {'XWenXiang', 'good', 'nice'}
set_b = {'age', 'name', 'good'}
print(set_b ^ set_a)
输出结果
{'age', 'XWenXiang', 'nice', 'name'}
集合添加、移除元素
add()方法 —增加元素
add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任
何操作
add()方法语法:
set.add(elmnt)
代码示例
set_a = {'XWenXiang', 'good', 'nice'}
set_a.add('A')
print(set_a)
输出结果
{'XWenXiang', 'A', 'nice', 'good'}
若添加的已有,不会改变,因为有去重功能。
remove() 方法
remove() 方法用于移除集合中的指定元素。
remove() 方法语法:
set.remove(item)
代码示例
set_a = {'XWenXiang', 'good', 'nice'}
set_a.remove('nice')
print(set_a)
输出结果
{'XWenXiang', 'good'}
'''
注意的是,若是指定的元素不在集合里,程序会报错
'''
discard() 方法 —删除指定元素
discard() 方法用于移除指定的集合元素。
discard() 方法语法:
set.discard(value)
代码示例
set_a = {'XWenXiang', 'good', 'nice'}
set_a.discard('nice')
print(set_a)
输出结果
{'good', 'XWenXiang'}
'''
使用的方法和 remove() 一样,但是不同的是,当指定的元素不存在时,discar
d() 方法不会报错。
'''
pop() 方法
pop() 方法用于随机移除一个元素
pop() 方法语法:
set.pop()
注意没有参数