文章目录

  • 集合的描述
    • 1.1 集合的创建:set()、copy()
    • 1.2 集合元素的增加:add()、update()
    • 1.3 集合的删除:pop、remove、discard、clear
    • 1.4 集合的运算
    • 1.5 集合关系判断
    • 1.6 集合常用函数
    • 1.7 固定集合的构造函数 frozenset

集合的描述

集合是可变的容器集合内的数据对象是唯一的(不能重复多次的)集合是无序的存储结构,集合内的数据没有先后关系集合内的元素必须是不可变的对象集合是可迭代对象集合相当于只有键没有值的字典(键是集合的数据)
a = dir(set)
print ('set常用的方法:')
for i in a:if i[0] != '_':print (i)
set常用的方法:
add
clear
copy
difference
difference_update
discard
intersection
intersection_update
isdisjoint
issubset
issuperset
pop
remove
symmetric_difference
symmetric_difference_update
union
update

1.1 集合的创建:set()、copy()

set()  创建一个空的集合(不能用{}来创建空集合)

set(interable) 用可迭代对象创建一个新的集合

a = {}
print (type(a))
a = set()
print (type(a))
<class 'dict'>
<class 'set'>
set1 = set('difference')
print (set1)
{'e', 'i', 'c', 'n', 'd', 'r', 'f'}
set1 = set('difference')
set2 = set1.copy()
print (set2)
print (id(set1),'\n',id(set2))
{'f', 'r', 'n', 'e', 'i', 'd', 'c'}
1626263774824 1626263775496

1.2 集合元素的增加:add()、update()

add()一次增加一个元素

set1 = {1,3,5,7}
set1.add(4)
print (set1)
{1, 3, 4, 5, 7}

set.update(),用一个集合来更新另一个集合元素

set1 = {1,3,5,7}
set2 = {1,5,6,8}
set1.update(set2)
print (set1)
{1, 3, 5, 6, 7, 8}

1.3 集合的删除:pop、remove、discard、clear

pop()

Remove and return an arbitrary set element.
Raises KeyError if the set is empty
set1 = {1,3,5,7}
set1.pop()
print (set1)
{3, 5, 7}

remove(),去掉set中的一个元素,如果没有这个元素会报错

set1 = {1,3,5,7}
set1.remove(5)
print (set1)
set1.remove(5)
{1, 3, 7}---------------------------------------------------------------------------KeyError                                  Traceback (most recent call last)<ipython-input-31-bd9daa361cf2> in <module>()2 set1.remove(5)3 print (set1)
----> 4 set1.remove(5)KeyError: 5

discard(),移除不存在的元素不会报错

set1 = {1,3,5,7}
set1.discard(5)
print (set1)
set1.discard(5)
{1, 3, 7}

clear(),清空set

set1 = {1,3,5,7}
set1.clear()
print (set1)
set()

1.4 集合的运算

A、B的并集,A.union(B),A|B
A、B的交集,A.intersection(B),A&B
A相对与B的差补,A.difference(B),A-B,在A中不在B中的元素组成的集合
A、B的对称差集,A.symmetric_difference(B),A^B,(A-B)|(B-A)

1.5 集合关系判断

A是B的子集,A.issubset(B),A<=B
A是B的子集,A<B
A是B的超集,A.isssuperset(B),A>=B
A是B的超集,A>B
A与B是否有交集,A.isdisjoint(B)
A与B是否相同,== 、!=
判断集合中是否有某元素,in /not in,与列表和字典类似

update

A.difference_update(B)相当于A = A-B
A.intersection_update(B)相当于A = A&B
A.symmetric_difference_update(B)相当于A = (A-B)|(B-A)
A = {1,2,3}
B = {3,4}
print (A|B)
print (A.union(B))
print ('-*'*10)
print (A&B)
print (A.intersection(B))
print ('-*'*10)
print (A-B)
print (A.difference(B))
print ('-*'*10)
print (A^B)
print (A.symmetric_difference(B))
print ('-*'*10)
print (A.issubset(B))
print (A.issuperset(B))
print (A.isdisjoint(B))
print (A == B)
print (A != B)
print (1 in A)
print ('-*'*10)
A.difference_update(B)
print (A)
A = {1,2,3}
A.intersection_update(B)
print (A)
A = {1,2,3}
A.symmetric_difference_update(B)
print (A)
{1, 2, 3, 4}
{1, 2, 3, 4}
-*-*-*-*-*-*-*-*-*-*
{3}
{3}
-*-*-*-*-*-*-*-*-*-*
{1, 2}
{1, 2}
-*-*-*-*-*-*-*-*-*-*
{1, 2, 4}
{1, 2, 4}
-*-*-*-*-*-*-*-*-*-*
False
False
False
False
True
True
-*-*-*-*-*-*-*-*-*-*
{1, 2}
{3}
{1, 2, 4}

1.6 集合常用函数

        len(x)     返回集合的长度max(x)    返回集合的最大值元素min(x)     返回集合的最小值元素sum(x)     返回集合中所有的元素的和
A = {1,2,3}
print (len(A))
print (max(A))
print (sum(A))
3
3
6

1.7 固定集合的构造函数 frozenset

    frozenset()                 创建一个空的固定集合frozenset(interable)  用可迭代对象创建一个新的固定集合相当于集合的全部方法去掉修改集合的方法

Python基础----集合相关推荐

  1. python基础知识整理一

    文章目录 1.Python中的数据类型有哪些 1.字符串 1)字符串的常用方法 2)正则表达式 2.列表:list enumerate.zip函数 3.元组:tuple 4.字典:dict 5.集合: ...

  2. 12Python基础-集合Set

    Python基础-集合Set 什么是集合 创建集合 集合的增删 增加元素 删除元素 遍历集合 集合推导式 集合间的关系 集合的交集 集合的并集 集合的差集 集合的子集 集合的不相交集 什么是集合 Py ...

  3. 刻意练习:Python基础 -- Task06. 字典与集合

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  4. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  5. Python基础数据类型之set集合

    Python基础数据类型之set集合 一.set数据类型介绍 二.set集合演示 三.set集合中hash介绍 1.哈希定义 2.数据类型的hash和不可hash 3.set中hash示例 四.set ...

  6. Python 3 集合基础和概念!

    Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...

  7. Python基础day06【匿名函数lambda、列表生成式、集合set、文件读写】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]   目录 1.复习 2.递归函数[理解] 2.1.递归求阶乘 3.匿名函数 3.1.匿名函数的4种 ...

  8. python基础教程--代码集合(下)

    文章目录 38.字典dict 38.1 创建字典 38.2 字典获取元素 38.3 key字典 38.4key-value-items键值对 38.5字典的遍历 38.6 哈希函数haxi 39.可变 ...

  9. python基础教程--代码集合(上)

    文章目录 1.转义字符与原字符 2.二进制与字符编码 3.二进制编码 4.变量定义 4.数据类型 5.浮点数类型 6.布尔类型 7.字符串类型 8.数据类型转换 9.注释功能 10.标识符和保留字 1 ...

最新文章

  1. 团队开发 个人工作总结01
  2. Service的生命周期
  3. 音视频技术开发周刊 82期
  4. 电脑任务管理器快捷键_电脑知识小常识
  5. 第五章 染料结构对染色性能的影响单元测验
  6. 2043. 简易银行系统
  7. 博士可能是所有学生群体里被黑最猛烈的
  8. Docker-Oracle和物理机Oracle数据库性能测试
  9. android右上角设置按钮,Android:如何在右上角的按钮角添加三角形
  10. 服务器行业深度解析:服务器未来需求知多少
  11. ubuntu下载字体
  12. 三级等保要求配置文档-《物理环境》《网络通信》《区域边界》《计算环境》《管理中心》《管理制度》《运维管理》《硬件配置清单》
  13. 微机原理笔记day01 计算机发展史,和计算机组成部分
  14. 计算机共享后无法访问什么原因,共享文件在对方电脑无法访问是怎么回事?
  15. Xilinx火龙果学习笔记(1)---初识火龙果
  16. 虚拟机与本机可以互ping,但是Xshell连不上虚拟机 的解决方法
  17. PhpStorm2017破解版
  18. android 远吗编译 刷机 小米,小米10/小米10 Pro系统源代码现已开源,能刷机才是为发烧而生...
  19. 腾讯云发送短信验证码
  20. 人际关系-《别独自用餐》书中的精髓:通过有效的社交法则,改变社交行为固有模式,建立更有价值的人脉关系,从而获取更大成功。

热门文章

  1. ios中strong和weak的解释理解
  2. [zz]va_start() 和 va_end()函数应用
  3. 【python】类属性以及实例属性、实例方法的介绍
  4. 360云台智能看家存储在哪_新品360智能摄像机云台变焦版,惊喜改变可不止一点点...
  5. 一图总结:软件测试原则|策略|模型|生命周期
  6. PHP如何在微信中聊天_迷你微信私有聊天系统PHP源码支持PC、移动APP
  7. mysql5.5.49.tar.gz_CentOS6.5 解压安装 二进制分发版 mysql-5.5.49-linux2.6-x86_64.tar.gz
  8. mybatis 多线程_2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程
  9. delphi和python比较_Python For Delphi---更好地协同
  10. activate tensorflow_“量子固件”来了!利用 TensorFlow 提升量子计算硬件性能