- 集合
定义:集合(set)是一个无序的不重复元素序列。多用于去重
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
- 创建格式:
>>> s1 = {1,2,3,4}
>>> type(s1)
<class 'set'>
列表创建集合
>>> s2 = set(['a','a','a','b','c']) #集合的数据是不重复的
>>> print(s2,type(s2))
{'c', 'a', 'b'} <class 'set'>
元组创建集合
>>> s3 = set(('d','e','f'))
>>> print(s3,type(s3))
{'e', 'd', 'f'} <class 'set'>
字典创建集合
>>> s4 = set({1:'a',2:'b'})
>>> print(s4,type(s4))
{1, 2} <class 'set'>
- 增加集合中元素:
格式:s.add(x)
说明:将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作,一次只能添加一个元素。
示例:
>>> s1 = {1, 2, 3, 4, 6}
>>> s1.add('a')
>>> s1
{1, 2, 3, 4, 6, 'a'}
格式:s.update(x)
说明:添加元素,且参数可以是列表,元组,字典等,x 可以有多个,用逗号分开,如果元素已存在,则不进行任何操作。
示例:
>>> s1 = {1, 2, 3, 4, 6, 'a'}
>>> s1.update('b')
>>> s1
{1, 2, 3, 4, 6, 'b', 'a'}
>>> s1 = { 'b', 'a'}
>>> s1.update([1,2,3],(4,5,6),{7:'x',8:'y'}) #添加列表,元组,字典
>>> s1
{1, 2, 3, 4, 5, 6, 7, 8, 'b', 'a'}
- 删除集合中元素:
格式:sdiscard(x)
说明:删除元素x,discard括号中必填已存在的元素,输入不存在的元素会报错。
示例:
>>> s1
{2, 3, 4, 5, 6, 7, 8, 'b'}
>>> s1.discard(5)
>>> s1
{2, 3, 4, 6, 7, 8, 'b'}
格式:s.remove(x)
说明:删除元素x,remove括号中必填已存在的元素。
示例:
>>> s1
{1, 2, 3, 4, 5, 6, 7, 8, 'b', 'a'}
>>> s1.remove('a')
>>> s1
{1, 2, 3, 4, 5, 6, 7, 8, 'b'}
格式:s.pop()
说明:随机删除集合中的一个元素,pop括号中为空。在交互模式,pop 是删除集合的第一个元素(排序后的集合的第一个元素)
示例:
>>> s1.pop()
1
>>> s1
{2, 3, 4, 5, 6, 7, 8, 'b'}
Del清除当前的命名空间
>>> del s9
- 集合元素个数:
格式:len(s)
说明:计算集合 s 元素个数。
示例:
>>> s1
{2, 3, 4, 6, 7, 8, 'b'}
>>> len(s1)
7
- 操作符和关系符:
与字符串一样,元组之间可以使用 + 号和 * 号进行运算,他们可以组合和复制,运算后会生成一个新的元组。
测试数据准备:
>>> s1 = {2, 3, 4, 6, 7, 8, 'b'}
>>> s4 = set([1,2,3])
>>> s5 = set([1,2,34])
>>> s6 = set([1,2,3])
>>> s7 = set([1,2,3,88])
>>> s8 = set([1,2])
>>> s9 = set([4,5,6])
Python 表达式 | Python 符号 | 说明 |
>>> 2 in s1 True >>> 5 in s1 False | in | 是...的成员 |
>>> 2 not in s1 False >>> 5 not in s1 True | Not in | 不是...的成员 |
>>> s4 = set([1,2,3]) >>> s5 = set([1,2,34]) >>> s4 == s5 False | == | 等于 |
>>> s4 = set([1,2,3]) >>> s5 = set([1,2,34]) >>> s4 != s5 True | != | 不等于 |
>>> s4 < s5 False >>> s4 < s7 True | < | 是...的(严格)子集 |
>>> s4 <= s5 False >>> s4 <= s7 True | <= | 是...的子集(包括非严格子集) |
>>> s4 > s5 False >>> s4 > s8 True | > | 是...的(严格)超集 |
>>> s4 >= s5 False >>> s4 >= s8 True | >= | 是...的超集(包括非严格超集) |
>>> s4 & s5 {1, 2} >>> s4 & s9 set() | & | 交集 |
>>> s4 | s5 {1, 2, 3, 34} >>> s4 | s9 {1, 2, 3, 4, 5, 6} | | | 合集 |
>>> s4 - s5 {3} >>> s4 - s9 {1, 2, 3} | - | 差补或相对补集 |
>>> s4 ^ s5 {3, 34} >>> s4 ^ s9 {1, 2, 3, 4, 5, 6} | ^ | 对称差集 |