- 集合
集合也是无序的 具有天生去重的特性
>>> a
[1, 1, 2, 7, 3, 7, 5, 9]
>>> a = set(a)
>>> print(a,type(a))
(set([1, 2, 3, 5, 7, 9]), <type 'set'>)
>>> ###set() 集合默认去重复
2.交集 特殊符号为 &
>>> a
set([1, 2, 3, 4, 6, 7, 88])
>>> b
set([2, 3, 4, 8, 44, 66, 55])
>>> print a.intersection(b)
set([2, 3, 4])
>>> ### intersection 调取a和b 想交集 中有 交集的部分内容
>>> a & b
set([2, 3, 4])
>>> ##结果一样 缩略写 &
3 并集 特殊符号 |
# 把 两者相同的 剔除
>>> a
set([1, 2, 3, 4, 6, 7, 88])
>>> b
set([2, 3, 4, 8, 44, 66, 55])
>>> a.union(b)
set([1, 2, 3, 4, 6, 7, 8, 44, 66, 55, 88])
>>> ### union 合并去重
a | b ##得出的结果一样
4 差集 特殊符号 -
>>> a
set([1, 2, 3, 4, 6, 7, 88])
>>> b
set([2, 3, 4, 8, 44, 66, 55])
>>> a.difference(b)
set([88, 1, 6, 7])
>>> ### b求 a 把 a里面没有的 给罗列出来。正反互取都没问题。
a - b
b - a ### 谁在前 就把谁不相同的给罗列出来。
5 子集 父集
###issubset() 子集
>>> a
set([1, 2, 3, 4, 6, 7, 8, 44, 66, 55, 88])
>>> c
set([1, 2, 3])
>>> c.issubset(a) ### 判断c是否属于 a的 子集
True
###isuperset() 父集 ### isXXX 什么 都是判断
>>> a.issuperset(c)
True
6 对称差集 特殊符号 ^
>>> a
set([1, 2, 3, 4, 6, 7, 8, 44, 66, 55, 88])
>>> b
set([2, 3, 4, 8, 44, 66, 55])
>>> a.symmetric_difference(b)
set([1, 6, 88, 7])
>>> ### symmetric_difference 把两者都没有的 值取出
a ^ b
## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 判断是否有交集没有的话 为True
>>> a
set([1, 2, 3, 4, 6, 7, 8, 44, 66, 55, 88])
>>> c
set(['aa', 'bb'])
>>> a.isdisjoint(c)
True
>>> ### isdisjoint 当2个集合中完全没有 重复的那么显示为True
增删改查 ###集合中是没有插入的
>>> c
set(['aa', 9, 'bb'])
>>> c.add('ww')
>>> c
set(['aa', 9, 'ww', 'bb'])
>>> ### add() 增加 但是 只能一个一个的来增加
多种添加
>>> c
set(['aa', 9, 'ww', 'bb'])
>>> c.update([1,2,3,4])
>>> c
set(['aa', 1, 2, 3, 4, 'bb', 9, 'ww'])
>>> ##update()
删除
>>> c.remove('aa')
>>> c
set([1, 2, 3, 4, 'bb', 9, 'ww']) ### remove() 一个一个的删
## pop() 随机删除
>>> print c.discard('232323')
None
>>> ### discard() 删除如果没有的话 不会报错 也不会有返回值 除非你需要打印 返回None