3

  1.    集合

集合也是无序的   具有天生去重的特性

>>> 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

原文地址:https://www.cnblogs.com/th-lyc/p/8532208.html