python的set集合是是一组无序排列,可哈希的值,和字典的key是一样的,它初始化时会声明一个空列表,然后将元素加入,
所以使用终端打印时,set返回结果是set([])
- 支持:集合关系测试,成员关系测试,可迭代
- 不支持:索引,元素获取,切片
- 类型:可变
set()
, 不可变frozenset()
因为set()集合返回的是以列表的形式返回,所以初始化时,如果直接赋值字符串,它会把字符串转换为列表,然后加入
s=set()
:声明一个空set集合 >> set([])s=set('abc')
:声明并赋值set集合 >> set(['a','c','b'])s=set(['abc'])
:声明并赋值set集合 >> set(['abc'])
因为set是无序唯一集合,所以添加重复元素是不能再次加入的
set.append(val)
:添加元素到set集合set.update(val)
:添加的对象必须是可以迭代的对象,str,[],{}等,不能是int类型,它会首先把对象进行迭代然后加入到set集合中, 注意的是,对于{}字典类型,它只会操作keys.
>>> s=set()
>>> s.add(1)
>>> s
set([1])
>>> s.update('abc')
>>> s
set(['a', 1, 'c', 'b'])
>>> s.update([90,100])
>>> s
set(['a', 1, 'c', 'b', 100, 90])
>>> s.update({'key1':1,'key2':2})
>>> s
set(['a', 1, 'c', 'b', 100, 'key2', 'key1', 90])
>>> s.add(1)
>>> s
set(['a', 1, 'c', 'b', 100, 'key2', 'key1', 90])
s.remove(val)
使用remove()方法进行元素的删除
集合的交集、合集(并集)、差集
举例:a=set([1,2,3]) ,b=set([3,4,5])
python符号 含义 举例
- 差集,相对补集 a-b >>set([1, 2])
& 交集 a&b >>set([3])
| 合集,并集 a|b >>set([1, 2, 3, 4, 5])
!= 不等于 a!=b >>True
== 等于 a==b >>False
in 是成员 1 in a >> True
not in 不是成员 1 not in a >> False