文章目录

  • 概念
    • 作用:去重,关系运算,
    • 可变类型和不可变类型的定义:
    • 集合定义:
  • 主要方法:
    • 1、长度len
    • 2、成员运算in和not in
    • 3、"|" 合集
    • 4、&交集
    • 5、"-"差集
    • 6、 "^"对称差集
    • 7、==
    • 8、父集:>,>=
    • 9、子集:<,<=
  • 其它方法
    • set的方法和object的方法
    • set的独有方法()
  • 练习

概念

作用:去重,关系运算,

可变类型和不可变类型的定义:

可变类型是不可hash类型 不可变类型是可hash类型

集合定义:

集合:可以包含多个元素,用逗号分割, 集合的元素遵循三个原则:
1.每个元素必须是不可变类型(可hash,可作为字典的key)
2.没有重复的元素
3.无序

注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

主要方法:

1、长度len

pythons={'asdf','bargn','cceao','deryi','eagtbasefv','fargaeg'}
len(pythons)

6

2、成员运算in和not in

'asdf' in pythons

True

3、"|" 合集

pythons2={'asdf','cceao','deryi','eagtbasefv','fargaeg','adsfager'}
pythons | pythons2

{‘adsfager’, ‘asdf’, ‘bargn’, ‘cceao’, ‘deryi’, ‘eagtbasefv’, ‘fargaeg’}

4、&交集

pythons & pythons2

{‘asdf’, ‘cceao’, ‘deryi’, ‘eagtbasefv’, ‘fargaeg’}

5、"-"差集

print(pythons - pythons2)
print(pythons2 - pythons)

{‘bargn’}
{‘adsfager’}

6、 "^"对称差集

pythons ^ pythons2

{‘adsfager’, ‘bargn’}

7、==

pythons == pythons2

False

8、父集:>,>=

pythons3 = {'asdf', 'cceao', 'deryi', 'eagtbasefv', 'fargaeg'}
print(pythons3 > pythons)
print(pythons3 >= pythons)

False
False

9、子集:<,<=

print(pythons3 < pythons)
print(pythons3 <= pythons)

True
True

其它方法

set的方法和object的方法

a = set.__dict__.keys()
b = object.__dict__.keys()
print(a,'\n',b)
dict_keys(['__repr__', '__hash__', '__getattribute__', '__lt__', '__le__','__eq__', '__ne__', '__gt__', '__ge__', '__iter__', '__init__', '__sub__', '__rsub__', '__and__', '__rand__', '__xor__', '__rxor__', '__or__',  '__ror__', '__isub__', '__iand__', '__ixor__', '__ior__', '__len__',  '__contains__', '__new__','add', 'clear', 'copy', 'discard', 'difference',   'difference_update', 'intersection','intersection_update', 'isdisjoint',   'issubset', 'issuperset', 'pop', '__reduce__','remove', '__sizeof__', 'symmetric_difference', 'symmetric_difference_update','union', 'update', '__doc__']) dict_keys(['__repr__', '__hash__', '__str__', '__getattribute__', '__setattr__', '__delattr__', '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__init__','__new__', '__reduce_ex__', '__reduce__', '__subclasshook__', '__init_subclass__', '__format__', '__sizeof__', '__dir__', '__class__', '__doc__'])

set的独有方法()

print(a - b)
{'__xor__', '__iter__', '__ror__', '__or__',
'symmetric_difference_update', '__rsub__', 'clear',
'__rxor__', '__iand__', '__ixor__',
'difference_update', 'issubset', 'union', 'add',
'__isub__', '__sub__', '__ior__', '__rand__',
'update', 'isdisjoint', 'issuperset', '__len__', 'copy',
'intersection', 'difference', 'intersection_update',
'__and__', 'symmetric_difference', 'discard',
'__contains__', 'remove', 'pop'}

练习

lesson7 集合set相关推荐

  1. do还是doing imagine加to_中学必背英语短语集合:54个doing动名词的固定搭配

    中学必背英语短语集合:54个doing动名词的固定搭配​mp.weixin.qq.com doing动名词是中小学英语教学中的重要内容.在小学的时候老师大概会把doing解释为一般进行时,但层级越往上 ...

  2. Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)

    zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...

  3. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)

    Redis 的 set 集合内部的键值对是无序的唯一的.它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL .当集合中最后一个元素移除之后,数据结构自动删除,内存被回收. ...

  4. 【C#】集合_哈希表_字典_泛型_文件

    数组能做到:存放同种类型数据,且数据个数确定 object类型的数组能满足:放各种类型的数据,确定放多少个,但是随意插入元素,数组做不到 集合能做到:存放各种数据类型,且不确定存放多少个,能做到随意插 ...

  5. java集合中对象某属性比较排序

    TreeSet:它可以给Set集合中的元素进行指定方式的排序. 保证元素唯一性的方式:通过比较的结果是否为0. 底层数据结构是:二叉树. 排序的第一种方式: 让元素自身具备比较性.只要让元素实现Com ...

  6. 程序员应该吃透的集合List

    一:先看看集合框架接口图 (图片来源于网络) 从图中可以看到List实现了Collection接口. 二:Collection接口是什么? 在java类库中,Collection接口是集合类的基本接口 ...

  7. Java集合详解之Map

    一.首先看看集合框架体系图 从图中可以看到,Map接口扩展了Iterator接口,关于Iterator接口详解请移步:Iterator接口详解 二.Map是什么? Map<k,v>使用键值 ...

  8. 第一个python程序:定义,列表,元组,集合,求并集交集,键和值,运算符,缩进

    ''' 来源:天善智能韦玮老师课堂笔记 ''' print("定义") a = 6 # python里无需定义 print("a=",a) a += 1 # + ...

  9. python 获取集合里面的某一个元素

    python 获取集合里面的某一个元素,想想呢集合是不支持所以,切片,相加,相乘操作的, 所以想获取集合里面的某一个元素需要转化下思路,比如把即可转成列表然后在利用索引获取 例如: list_a = ...

最新文章

  1. java 三大框架面试题
  2. LeetCode 第 199 场周赛(757/5231,前14.5%)
  3. android /system,android:fitSystemWindows详解
  4. LaTex的安装和使用
  5. 最新爱客影院自动采集源码v3.5.5
  6. 中级通信工程师报名-在线题库-历年真题-模拟试题
  7. shiro安全框架 面试题
  8. SSD硬盘的数据恢复
  9. 浅谈对于机器学习的理解
  10. 华北计算机系统工程研究所 韩庆,华北电力大学学报(自然科学版)
  11. Caffe Blobs
  12. VCS建立仿真生成DVE波形
  13. Viz-artist常用脚本操作
  14. 【阅读】数据之美,一本书学会可视化设计
  15. 程序员如何实现35岁完美退休
  16. VBA 开发学习--基础语法
  17. 什么是你的核心竞争力之六正视你的弱点
  18. ue4云渲染WebSocket通信过程
  19. C语言换币问题:将一块钱,换成50个硬币,其中硬币的种类有1分、两分、五分。输出这50个硬币分配情况。
  20. ANDROID ION_BUFFER

热门文章

  1. 电大计算机应用基础考60,(2016年电大)电大计算机应用基础考答案.doc
  2. unity 继承会调用start吗_【浅入浅出】Unity 雾效
  3. php curl title,PHP中使用CURL获取页面title例子
  4. 找出连续最长数字串python_字符串中找出连续最长的数字字符串的实例代码
  5. 【Centos 8】【Centos 7】【Docker】 安装 RabbitMQ
  6. 【thymeleaf】th:text、[[]]、th:utext、[()]输出变量
  7. learn opengl 中文_LearnOpenGL-CN
  8. java多数据源事务管理_Spring中实现多数据源事务管理 - CSDN博客
  9. class mywnd : pubic qwidget是什么意思_学了这么久java反射,你知道class.forName和classloader的区别吗?...
  10. docker 容器保存为镜像_Docker容器和镜像操作