学习记录(Python集合)
与之前的两种数据结构不同,集合(Set)对象是由一组无序元素组成,可以分为可变集合(Set)和不可变集合(Frozenset)。不可变集合是可哈希的,可以当做字典的键。
1.集合的基本操作
方法 | 说明 |
set() | 创建一个可变集合 |
add() | 在集合中添加元素 |
update() | 将另一个集合中的元素添加到指定的集合中 |
remove() | 删除指定的集合 |
(1)集合的创建
set()方法可以创建一个可变集合。当然,如果要创建一个可哈希的不可变集合时就要采用frozenset()方法
>>>te1 = set('Python')
>>>type(te1)
<type 'set'>
>>>te1
set(['h' , 'o' , 'n' , 'P' ,'t' ,'y'])
>>>te2 = frozenset('Python')
>>>type(te2)
<type 'frozenset'>
>>>te2
frozenset(['h' , 'o' , 'n' , 'P' ,'t' ,'y'])
(2)add()方法
>>>te = set('Python')
>>>te.add('add')
>>>te
set (['h' , 'o' , 'n' ,'add', 'P' ,'t' ,'y'])
(3)update()方法
update()方法能够将另外一个集合添加到指定的集合中
>>>te1 = set([1,2,3])
>>>te2 = set([4,5,6])
>>>te1.update(te2)
set([1,2,3,4,5,6])
(4)remove()方法
remove()方法可以删除指定的元素,同时可以使用clear()方法清除指定集合中的所有元素
>>>te = set([1,2,3,4,5,6])
>>>te.remove(3)
>>>te
set([1,2,4,5,6])
>>>te.clear()
set([])
2.集合的运算符操作
除了常用的基本操作之外,集合还可以使用集合运算符进行操作处理
操作符 | 实例 | 集合操作 |
== | A==B | 如果集合A等于集合B返回true,反之返回false |
!= | A!=B | 如果集合A不等于集合B返回true,反之返回false |
< | A<B | 如果集合A是集合B的真子集返回true,反之返回false |
<= | A<=B | 如果集合A是集合B的子集返回true,反之返回false |
> | A>B | 如果集合A是集合B的真超集返回true,反之返回false |
>= | A>=B | 如果集合A是集合B的超集返回true,反之返回false |
| | A|B | 计算集合A和集合B的并集 |
& | A&B | 计算集合A和集合B的交集 |
- | A-B | 计算集合A与集合B进行差集 |