python set用法小结

1.创建集合 set()

>>>set('python')
{'o', 'p', 'h', 'n', 't', 'y'}
>>>set(['python'])
{'python'}

#去重
>>>list1 = [11, 11, 12, 13, 14, 14, 15]
>>>set(list1)
{11, 12, 13, 14, 15}

2.添加 add(),update()

#add():把传入的元素做为一个整体添加到集合中
>>>set1 = set('python')
>>>set1
{'o', 'p', 'h', 'n', 't', 'y'}
>>>set1.add('java')
>>>set1
{'o', 'p', 'h', 'n', 't', 'java', 'y'}

#update():把传入的元素拆分,做为个体添加到集合中
>>>set2 = set('python')
>>>set2.update('java')
>>>set2
{'o', 'p', 'j', 'a', 'h', 'n', 'v', 't', 'y'}

**3.删除 remove()
set([‘y’, ‘python’, ‘b’, ‘o’])

>>>set1
{'o', 'p', 'h', 'n', 't', 'java', 'y'}
>>>set1.remove('java')
>>>set1
{'o', 'p', 'h', 'n', 't', 'y'}

4.set() 集合操作符号、数学符号

python符号数学符号含义
--或\差集
&交集
l并集
^对称差,并集减去交集
!=不等于
===等于
in属于
not in不属于成员

5. 函数操作

>>> x
set(['i', 'h', 'j', 'e', 't'])
>>> s = set("hi")
>>> s
set(['i', 'h'])
>>> len(x)                    #长度
>>> 'i' in x
True
>>> s.issubset(x)             #s是否为x的子集
True
>>> y
set(['i', 'e', 'm', 'd', 't'])
>>> x.union(y)                #交
set(['e', 'd', 'i', 'h', 'j', 'm', 't'])
>>> x.intersection(y)         #并
set(['i', 'e', 't'])
>>> x.difference(y)           #差
set(['h', 'j'])
>>> x.symmetric_difference(y) #对称差
set(['d', 'h', 'j', 'm'])
>>> s.update(x)               #更新s,加上x中的元素
>>> s
set(['e', 't', 'i', 'h', 'j'])
>>> s.add(1)                  #增加元素
>>> s
set([1, 'e', 't', 'i', 'h', 'j'])
>>> s.remove(1)               #删除已有元素,如果没有会返回异常
>>> s
set(['e', 't', 'i', 'h', 'j'])
>>> s.remove(2)
 
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    s.remove(2)
KeyError: 2
>>> s.discard(2)               #如果存在元素,就删除;没有不报异常
>>> s
set(['e', 't', 'i', 'h', 'j'])
>>> s.clear()                  #清除set
>>> s
set([])
>>> x
set(['i', 'h', 'j', 'e', 't'])
>>> x.pop()                    #随机删除一元素
'i'
>>> x
set(['h', 'j', 'e', 't'])
>>> x.pop()
'h'

小对比
list:增加——append(),extend()整个添加 ;删除——pop()默认删除最后一个,可以传入数字按位置删除,remove()按照元素删除
dict:增加——update();删除——del
set:增加——update(),add();删除——remove()按照元素删除,pop()删除第一个

参考链接:
https://www.iplaypy.com/jichu/set.html
http://www.cnblogs.com/kaituorensheng/p/4511214.html
http://www.cnblogs.com/justbreaking/p/7210164.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值