Python 中set函数

set集合函数主要用来去除重复:
比如一个列表有多个重复值,可以用set搞掉
>>> l = [1,2,3,4,5,4,3,21]
>>>
>>> l
[1, 2, 3, 4, 5, 4, 3, 21]
>>>
>>>
>>> set(l)
set([1, 2, 3, 4, 5, 21])
>>>
set  可以做交集,并集,差集
set的增删改
增:>>> a = set([1,2,3,4])
>>> a
set([1, 2, 3, 4])
>>>
>>> a.add('alex')
>>> a
set([1, 2, 3, 4, 'alex'])
删:>>> a.remove('alex')
>>> a
set([1, 2, 3, 4])
>>>
添加多项:>>> b = set([1,2,7,8])
>>> b
set([8, 1, 2, 7])
>>> a.update(b)
>>> a
set([1, 2, 3, 4, 7, 8])
判断b是否包含在a中
>>> a
set([1, 2, 3, 4, 7, 8])
>>> b
set([8, 1, 2, 7])
>>>
>>> b.issubset(a)
True


python中的“无序”set是和其他用平衡二叉树实现的set(如c++中用红黑树实现的set和python中的orderedset)相对而言的。

基于平衡二叉树的set存取操作都是O(lgn)的时间,但是由于二叉搜索树的特点,可以很轻松的找到任意节点的前驱和后继节点,所以算是“有序”的。

而python中的set基于哈希表实现,存取时间可看做O(1),但是没有办法高效的完成顺序相关的操作(比如找前驱后继,最大最小值等等),所以认为是“无序”的。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31475921/viewspace-2142116/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31475921/viewspace-2142116/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值