1.集合 set

用途:关系运算、去重

定义:{ }内用逗号分隔开的多个元素,每个元素都必需是不可变的类型

强调;

1.集合类元素都必需是不可变类型

2.集合内的元素是无序的 ,所以没有索引

3.集合内的元素不能重复

sed={1,2,‘a’}

print(sed={1,2,{“a”:1}})  直接报错

s={1,'a','hello',(1,2,3),4}
             for item in s:

print(item)                每次循环结果顺序错乱

s={(1,2,3),(1,2,3),'a','b','a'}
                     print(s)                            自动删除重复的元素

s=set('hello')
             print(s)                            顺序错乱

单纯的用集合去重,需要注意的问题是
1    去重的目标所包含的值必须都为不可变类型

2、去重的结果会打乱原来的顺序

常用操作+内置的方法

s1={1,2,3,4,5}
        s1.add(6)                                                  #集合增加元素
        print(s1)

1.长度 len

2.循环 for

3.判断 in 和not in

4. 并集 |

print(pythoners | linuxers)                    显示两者索引元素,去除重复的元素
print(pythoners.union(linuxers))

5.交集  &

print(pythoners & linuxers)                                显示相同的元素

print(pythoners.intersection(linuxers))

6.差集 -

print(pythoners - linuxers)                                            删除相同的元素
print(pythoners.difference(linuxers))

7.对称差集 ^

print(pythoners ^ linuxers)                                                  删除相同元素,显示两者的元素

print(pythoners.symmetric_difference(linuxers)

8. 等于 ==

9.父集 (包含关系)    > >=

s1={1,2,3,4,5}
s2={1,2,3}
print(s1 > s2) # s1包含s2
print(s1.issuperset(s2))                                   判断父集

10.子集 (被包含的关系)  < <=       isdisjoint判断是否无交集

print(s2.issubset(s1))                                       判断子集

print(s1.isdisjoint(s2))                                  判断是否无交集

11.更新=增加集合       update                     向集合里面增加集合

s1.update({4,7,8,9})

print(s1)

12.删除            remove  pop discard 
# res=s1.pop()
# print(res)

# res=s1.remove(4)
# print(res)

# print(s1)

s1.discard(7)          # 即便要删除的元素不存在也不会报错

二:该类型总结
    #1 存一个值or存多个值
            可以存多个值,值都必须为不可变类型

# 2 有序or无序
    无    序

# 3 可变or不可变
            # set集合是可变类型
            # s={1,2,3}
            # print(id(s))
            # s.add(4)
            # print(s)

# print(id(s))

#=====================集合的去重==========================
# 单纯的用集合去重,需要注意的问题是
#1、去重的目标所包含的值必须都为不可变类型
#2、去重的结果会打乱原来的顺序
# names=['asb','asb','asb','wsb','wsb','egon_nb',[1,2,3]]                 
# s=set(names)

# names=list(s)                                     去重目标必须为不可变类型,

# print(names)                                        直接报错

转载于:https://www.cnblogs.com/Marcki/p/10111972.html

数据类型之集合 set 运算关系相关推荐

  1. 离散数学(4)——集合的概念和集合之间的关系、集合的运算、基本的集合恒等式

    一.集合的表示 列举法:列出集合中的全体元素,元素之间用逗号分开,然后用花括号括起来 描述法:用谓词P(x)表示x具有性质P,用{x|P(x)}表示具有性质P的集合 注意事项:集合中的元素是各不相同的 ...

  2. python集合类型中的元素是有序的_Python数据类型之集合set

    # 集合:用来存储一个无序的不重复的元素序列 # 集合的标识也是大括号{},中间的元素使用逗号","隔开 # 集合的创建方式: # set(序列) # s = {"123 ...

  3. 【数据结构】树与树的表示、二叉树存储结构及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树与哈夫曼编码、集合及其运算

    1.树与树的表示 什么是树? 客观世界中许多事物存在层次关系 人类社会家谱 社会组织结构 图书信息管理 分层次组织在管理上具有更高的效率! 数据管理的基本操作之一:查找(根据某个给定关键字K,从集合R ...

  4. python集合及其运算

    1, 集合定义 集合数据类型是没有顺序的简单对象的聚集,且集合中元素不重复.python集合数据类型有可变集合对象(set)和不可变集合对象(frozenset) 集合元素必须是可hash对象,可哈希 ...

  5. 离散数学反对称关系_【离散数学】1.2&1.3集合与元素,集合与集合之间的关系...

    离散数学是编程人员进阶的必修科目,是计算机专业学生的基础课程之一,多为理论性知识,较抽象. [离散数学]第一章(集合论基础)的小节主要有: 1.1集合的定义和表示 1.2集合与元素的关系 1.3集合与 ...

  6. collection转换为list_JAVA 集合 接口继承关系和实现,List,Set,Map(总结)

    一. JAVA 集合 1.接口继承关系和实现 集合类存放于 Java.util 包中,主要有 3 种:set(集).list(列表包含 Queue)和 map(映射). 1. Collection:C ...

  7. 【广告技术】隐私集合交集运算结合同态加密,在保障数据安全的同时追踪广告效果

    [Wiztalk腾讯广告专场]系列分享来袭,第四期由南开大学计算机学院副院长.网络空间安全学院副院长刘哲理老师为大家深度介绍 <隐私集合交集算法研究>.在不久前由中国国际智能产业博览会组委 ...

  8. 组合数据类型(集合)

    组合数据类型包括集合类型及操作.序列类型及操作(元组类型和列表类型).字典类型及操作 集合是多个元素的无序组合 集合类型与数学中的集合概念一致,数学中的集合是指具有某种特定性质的对象汇总而成的集体,其 ...

  9. 集合的运算(C++单链表实现)

    集合的运算 1.需求分析 2.数据结构与模块化设计 2.1 数据结构设计 2.2 模块化设计 2.3 总体功能流程图 3.程序设计 4.运行展示 1.需求分析 (1)建立两个含有若干个元素的单链表 A ...

  10. 《离散数学》1 集合及其运算

    第一章 集合及其运算 集合的概念 集合的表示方法 集合之间的关系 特殊集合: 集合的基本运算 集合运算的性质 有限集合的计数 集合的概念 通常将一些具有确定的.可以区分的若干事件的全体称为集合,而将这 ...

最新文章

  1. python入门经典例题-Python入门经典练习题
  2. Skywalking-11:Skywalking查询协议——案例分析
  3. c#获取文件夹路径(转载)
  4. 微信小程序可以实现很多功能
  5. 解决 npm 无法安装 devDependencies 下的依赖包的问题
  6. SQL Server 修改表
  7. ios视频播放器-1
  8. 二叉树面试题总结(Java)
  9. android媒体--stagefright概述
  10. 关于阿狸狗破戒大师自动安装完cadence17.4后licence不可用问题
  11. 笔记本打开计算机不显示摄像头,笔记本电脑摄像头没有图像怎么回事_笔记本摄像头提示没有图像设备如何处理-win7之家...
  12. 一个 Duang~ 的CSS3动画
  13. 想考阿里云ACP认证,网上买题库靠谱吗?
  14. 如何在苹果Mac OS系统中安装MT4电脑版软件?
  15. 计算机网络的特点及性能
  16. 小米随身wif linux平台配置
  17. 字节跳动校招面试题演练
  18. 【ESD专题】ESD和EOS有什么差异?
  19. 嵌入式 C 语言中三块难啃的硬骨头
  20. latex插入pdf后空很多行

热门文章

  1. 解决CocosCreator2.3.1使用VideoPlayer加载视频黑屏问题(修改底层代码)
  2. 游戏开发之C++内联函数--不受程序员控制的一个函数(C++基础)
  3. CLient-Initiated L2TP主机上网问题详解
  4. MVVM最佳解读和实践
  5. 配置IP、网络问题排查
  6. 《TCP/IP详解卷1:协议》第12章 广播和多播---读书笔记
  7. 写表单验证等页面的总结
  8. 【总结】大端、小端存储模式的那点事
  9. SpringSecurity半成品笔记
  10. 要有多勇敢才敢对回忆念念不忘,还是喜欢流眼泪。学会成长坚强,相互理解而不是责怪。我安静点,我不哭了~...