python set集合

python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素. 集合对象还支持并、交、差、对称差等。

 

集合基本用法:

1.创建集合

>>> a = {'abc','bcd','123'}
>>> print(type(a))
<type 'set'>
>>> b = set(['abc','abc','123','123'])
>>> print(type(b))                    
<type 'set'>

2.演示交集

>>> print (a&b)                       
set(['123', 'abc'])

###可以使用intersection,返回一个新的 set 包含 a 和 b 中的公共元素 
>>> a.intersection(b)    
set(['123', 'abc'])
>>> c = a.intersection(b)      
>>> print c
set(['123', 'abc'])

3.并集

>>> print (a|b)
set(['bcd', '123', 'abc'])

###可以使用union,返回一个新的 set 包含 a 和 b 中的每一个元素  

>>> a.union(b)               
set(['123', 'abc', 'bcd'])

4.差集

>>> print (a-b)
set(['bcd'])

###可以使用difference,返回一个新的 set 包含 a 中有但是 b 中没有的元素  

>>> a.difference(b)                    
set(['bcd'])
>>> c = a.difference(b)  
>>> print c
set(['bcd'])

5.

5.对称差集

>>> print (a^b)
set(['bcd'])

###可以使用symmetric_difference,返回一个新的 set 包含 a 和 b 中不重复的元素 

>>> a
set(['bcd', '123', 'abc'])
>>> b
set(['123', 'abc', 'iter'])
>>> a.symmetric_difference(b)
set(['bcd', 'iter'])

6.add 添加一个元素

>>> b.add('iter')
>>> print b
set(['123', 'abc', 'iter'])

7.update更新元素

>>> a.update(['www','qqq'])
>>> print a
set(['bcd', 'www', '123', 'qqq', 'abc'])

8.remove 删除一个元素,如果元素不存在返回异常

>>> a.remove('qqq')
>>> print a
set(['bcd', 'www', '123', 'abc'])
>>> a.remove('gggg')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'gggg'

9.清除set

>>> a.clear()
>>> a
set([])
>>> print a
set([])

另外网上看到一个图片很形象的演示set的功能



posted @ 2017-04-19 09:16  西红柿圆  阅读(234)  评论(0编辑  收藏  举报