set集合:

特点:无序,元素不重复

功能:关系测试,去重

集合创建:

>>> s  = set('python')   
>>> s
{'p', 't', 'y', 'h', 'o', 'n'}

>>> l1 = ['python','pingy']
>>> s = set(l1)
>>> s
{'pingy', 'python'}

>>> s = set('hello')
>>> s    
{'h', 'e', 'l', 'o'}     #'hello'中有两个'l',集合会去掉重复的元素。

集合修改:

.add:增加元素

.update:更一个新集合到另外一个集合

>>> s = set('python')
>>> s
{'p', 't', 'y', 'h', 'o', 'n'}
>>> s.add('abc')     #增加元素
>>> s
{'p', 't', 'y', 'abc', 'h', 'o', 'n'}

>>> s.update('bcd')  
>>> s
{'p', 't', 'y', 'abc', 'c', 'b', 'd', 'h', 'o', 'n'}

>>> se = set('linux')
>>> se
{'i', 'x', 'u', 'l', 'n'}
>>> s.update(se)   #把se集合更新到s集合中
>>> s
{'p', 'u', 't', 'y', 'x', 'abc', 'c', 'b', 'd', 'i', 'h', 'l', 'o', 'n'}

集合删除:

.remove:删除指定元素

del:删除整个集合

.pop:随机删除一个元素

.clear:清空集合

>>> s
{'p', 'u', 't', 'y', 'x', 'abc', 'c', 'b', 'd', 'i', 'h', 'l', 'o', 'n'}
>>> s.remove('abc')    #删除指定元素
>>> s
{'p', 'u', 't', 'y', 'x', 'c', 'b', 'd', 'i', 'h', 'l', 'o', 'n'}

>>> se
{'i', 'x', 'u', 'l', 'n'}
>>> del se      #删除集合
>>> s1
{'a', 'm', 'n'}
>>> s1.clear()   #清空集合
>>> s1
set()

集合类型操作:

in  not in:

==  !=

< >

>>> s1
{'a', 'm', 'n'}
>>> s2
{'a', 'm', 'o', 'w', 'n'}
>>> s1<s2
True

&:交集

|:并集

-:差集

^:对称差集(去掉两个集合中的交集,留下剩下的元素的集合)

>>> s1
{'a', 'm', 'n'}
>>> s2
{'a', 'm', 'o', 'w', 'n'}
>>> s1<s2
True
>>> s1 & s2   #交集
{'a', 'm', 'n'}
>>> s1 | s2    #并集
{'w', 'a', 'm', 'o', 'n'}
>>> s2 -s1   #差集
{'w', 'o'}

例:列表去重

>>> l = [1,2,3,4,5,6,4,3,6,7,9,12,2]
>>> l
[1, 2, 3, 4, 5, 6, 4, 3, 6, 7, 9, 12, 2]

>>> list(set(l))
[1, 2, 3, 4, 5, 6, 7, 9, 12]

 

posted on 2016-09-13 15:44  PingY  阅读(220)  评论(0编辑  收藏  举报