博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SET基本数据类型
阅读量:6113 次
发布时间:2019-06-21

本文共 3125 字,大约阅读时间需要 10 分钟。

Python set是的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。创建集合set集合set添加集合删除交集并集差集的操作都是非常实用的方法。

set  => 不允许重复的集合  set不允许重复 的列表

1、       创建

s = set()  s = {1,2,3}

2、      转换

l = [11,22,33,44,11]  l = (11,22,33,11)  l3 = "123"  s = set(l)  print(s)

 

SET内置函数(方法)

简单的演示下差集、交集和合集的概念:

1、add  添加

def add(self,*args,**kwargs):
  """添加元素"""

se = {11,22,33}      be = {11,77,55}      print(se.add(44))      print(se)  结果:      None      {
33, 11, 44, 22}

2、clear  清除

def clear(self,*args,**kwargs)
    """清除"""
案例:

se = {11,22,33}  be = {11,77,55}  print(se.clear())  print(se)  结果:  None  set()

3、copy复制(留在以后单独讲)

4、difference  ---求差集

def difference(self,*args,**kwargs):
  """A 中存在,b不存在"""
  #找se中存在,be中不存在的集合,并将其赋值给新变量
案例:

se = {11,22,33}  be = {11,77,55}  print(se.difference(be))  ret = se.difference(be)
se = {11,22,33}  be = {11,77,55}  ret = se.symmetric_difference(be)  print(ret)  结果:  {
33, 77, 22, 55}

5、difference_update

def difference_update(self,*args,**kwargs):

  """从当前集合中删除和B中相同的元素"""

  #找se中存在,be中不存在的集合,更新自己

案例:

se = {11,22,33}  be = {11,77,55}  se.difference_update(be)  print(se)  结果:  {
33, 22}

6、def symmetric_difference(self,*args,**kwargs):

  """对称交集"""
  #意思就是说把A和B的不同元素赋值给一个新值
案例:

se = {11,22,33}  be = {11,77,55}  ret = se.symmetric_difference(be)  print(ret)  结果:  {
33, 77, 22, 55}

7、def symmetric_difference_update(self,*args,**kwargs):

  """对称交集,并更新到A中"""
  #意思就是A和B中的不同元素,更新到A中
案例:

se = {11,22,33}  be = {11,77,55}  se.symmetric_difference_update(be)  print(se)  结果:  {
33, 77, 22, 55}

8、discard

def discard (self,*args,**kwargs):
  """移除指定元素,不存在不报错"""
案例:

se = {11,22,33}  be = {11,77,55}  se.discard(11)  print(se)  结果:  {
33, 22}

9、intersection

def intersection(self,*args,**kwargs):
  """交集"""
  #意思就是A和B共同的
案例:

  se = {11,22,33}  be = {11,77,55}  ret = se.intersection(be)  print(ret)  结果:  {
11}

10、intersection_update

def interection_update(self,*args,**kwargs):
  """取交集并更新到A中     """
案例:

se = {11,22,33}  be = {11,77,55}  se.intersection_update(be)  print(se)  结果:  {
11}

11、isdisjoint  

def isdisjoint(self,*args,**kwargs):
"""如果没有交集,返回True,否则返回False"""
#注意有交集是False
案例:

se = {11,22,33}  be = {11,77,55}  ret = se.isdisjoint(be)  print(ret)  答案:  False

12、issubset

def issubset(self,*args,**kwargs):
"""是否是子序列"""
案例:

se = {11,22,33}  be = {11,77,55}  print(se.issubset(be))  答案:  False

13、issueperset

def issuperset(self,*args,**kwargs):
"""是否是父序列"""
案例:

se = {11,22,33}  be = {11,77,55}  print(se.issuperset(be))  答案:  False

14、pop

def pop(self,*args,**kwargs):
"""移除元素"""
案例:

se = {11,22,33}  be = {11,77,55}  se.pop()  print(se)  se.pop()  print(se)  答案:  {
11, 22} {
22} 证明set是无序的

15、remove

def remove(self,*args,**kwargs):
"""移除指定元素,不存在报错"""
案例:

se = {11,22,33}  be = {11,77,55}  se.remove(11)  print(se)  答案: {
33, 22}

16、union

def union(self,*args,**kwargs):
"""并集"""
案例:

se = {11,22,33}  be = {11,77,55}  ret = se.union(be)  #——(be也可以是一个列表,字符串等)  print(ret)  答案:  {
33, 22, 55, 11, 77}

17、update

def update(self,*args,**kwargs):
"""更新"""
#A和B里面的值更新到A,且不重复
案例:

se = {11,22,33}  be = {11,77,55}  se.update(be)  #---必须可迭代  print(se)  答案:  {
33, 22, 55, 11, 77}

 

转载地址:http://socka.baihongyu.com/

你可能感兴趣的文章
直播视频流技术名词
查看>>
网易跟贴这么火,背后的某个力量不可忽视
查看>>
企业级java springboot b2bc商城系统开源源码二次开发-hystrix参数详解(八)
查看>>
java B2B2C 多租户电子商城系统- 整合企业架构的技术点
查看>>
IOC —— AOP
查看>>
比特币现金将出新招,推动比特币现金使用
查看>>
数据库的这些性能优化,你做了吗?
查看>>
某大型网站迁移总结(完结)
查看>>
mysql的innodb中事务日志(redo log)ib_logfile
查看>>
部署SSL证书后,网页内容造成页面错误提示的处理办法
查看>>
MS SQLSERVER通用存储过程分页
查看>>
60.使用Azure AI 自定义视觉服务实现物品识别Demo
查看>>
Oracle 冷备份
查看>>
jq漂亮实用的select,select选中后,显示对应内容
查看>>
C 函数sscanf()的用法
查看>>
python模块之hashlib: md5和sha算法
查看>>
linux系统安装的引导镜像制作流程分享
查看>>
解决ros建***能登录不能访问内网远程桌面的问题
查看>>
pfsense锁住自己
查看>>
vsftpd 相关总结
查看>>