python15 数据类型 集合类型

集合类型
无序的不重复元素序列
集合中只能存储不可变的数据类型
声明集合 使用 {} 定义
与列表,字典一样,都是可变数据类型

代码

        

'''
集合类型
无序的不重复元素序列
集合中只能存储不可变的数据类型
声明集合 使用 大括号{} 定义
与列表,字典一样,都是可变数据类型
集合 和 字典 都是用 大括号{{} 定义,但要注意语法不同
集合声明 语法 list = {1,2,3,4,5}
字典声明 语法 dict = {'name': 'stevenChen','age' : 30, 'sex' : '男'}
集合声明2 语法 list = set(可迭代对象)
集合是序列的一种,所有继承序列的所有功能
'''
# 集合声明方式1
dataList = {10,20,30,40}
print(f'dataList:{dataList}, type={type(dataList)}')

# 创建一个集合
dataList1 = set()
print(f'dataList1:{dataList1}, type={type(dataList1)}')

dataList2 = {}#创建的是集合还是字典,答案是:dict 字典
print(f'dataList2:{dataList2}, type={type(dataList2)}')

# 无序的不重复元素序列,l和o只会出现一次
dataList3 = set('helloworld')
print(f'dataList3:{dataList3}')

s2 = set([100,200,300])
print(f"s2 : {s2}")

s3 = set(range(1,10))
print(f"s3 : {s3}")

# 集合是序列的一种,所有继承序列的所有功能
print(f'最大值:{max(s3)}')
print(f'最小值:{min(s3)}')
print(f'长度:{len(s3)}')

print(f'9 存在吗?{9 in s3}')
print(f'9 不存在吗?{9 not in s3}')

# 集合的操作符: 交集 &,并集 |,差集 -,补集 ^
s4 = {10,20,30,40,50}
s5 = {30,50,88,76,20}
# 交集 &,只找到两个集合中相同的元素
print(f'交集:{s4 & s5}')
# 并集 |,全部合在一起去除重复元素
print(f'并集:{s4 | s5}')
# 差集 - , 找出 S4 集合中的元素在S5集合中不存在的元素,以左边集合为主,找不左边集合中多出来的
print(f'差集:{s4 - s5}')
# 补集 ^ ,找出两个集合中不相交的部分,就是找出两个集合中不重复的元素
print(f'补集:{s4 ^ s5}')

# 相关操作
# 添加元素
s4.add(100)
print(f'添加元素:{s4}')

# 删除元素,注意不存在会报错
s4.remove(20)
print(f'删除元素:{s4}')

# 删除前判断一下
if 20 in s4:
    s4.remove(20)
    print(f'删除元素2:{s4}')
else:
    print(f'删除元素2:元素不存')
# 遍历
for item in s4:
    print(f'for item :{item}')

for no,item in enumerate(s4):
    print(f'for enumerate no:{no},item:{item}')
# 集合没有索引,所以下面这种方法不能用
# for index in range(0,len(s4)):
#     print(f'for index:{index},item:{s4[index]}')

# 清空
s4.clear()
print(s4)

# 集合的生成式
print('集合的生成式')
s6 = {i for i in range(1,10)}
print(s6)

s7 = {i for i in range(1,10) if i%2==1}
print(s7)

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/714272.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux驱动学习(十)之内存管理

一、linux内核启动过程中,关于内存信息 1、内核的内存的分区 [ 0.000000] Memory: 1024MB 1024MB total ---> 1G [ 0.000000] Memory: 810820k/810820k available, 237756k reserved, 272384K highmem [ 0.000000] Virtual kernel memory layout: 内…

UnityAPI学习之碰撞检测与触发检测

碰撞检测 发生碰撞检测的前提: 1. 碰撞的物体需要有Rigidbody组件和boxcllidder组件 2. 被碰撞的物体需要有boxcollider组件 示例1:被碰撞的物体拥有Rigidbody组件 两个物体会因为都具有刚体的组件而发生力的作用,如下图所示&#xff0c…

人工智能模型组合学习的理论和实验实践

组合学习,即掌握将基本概念结合起来构建更复杂概念的能力,对人类认知至关重要,特别是在人类语言理解和视觉感知方面。这一概念与在未观察到的情况下推广的能力紧密相关。尽管它在智能中扮演着核心角色,但缺乏系统化的理论及实验研…

Elasticsearch 8.1官网文档梳理 - 十一、Ingest pipelines(管道)

Ingest pipelines 管道(Ingest pipelines)可让让数据在写入前进行常见的转换。例如可以利用管道删除文档(doc)的字段、或从文本中提取数据、丰富文档(doc)的字段等其他操作。 管道(Ingest pip…

【Mybatis-Plus】根据自定义注解实现自动加解密

背景 我们把数据存到数据库的时候,有些敏感字段是需要加密的,从数据库查出来再进行解密。如果存在多张表或者多个地方需要对部分字段进行加解密操作,每个地方都手写一次加解密的动作,显然不是最好的选择。如果我们使用的是Mybati…

Internet Download Manager(IDM6.41)软件安装包下载及安装教程

Internet Download Manager有一个智能下载逻辑加速器,具有智能动态文件分割和安全的多部分下载技术,可以加速下载。与其他下载加速器和管理器不同,Internet下载管理器在下载开始之前对文件进行分段,而Internet下载管理器在下载过程…

欧阳修,仕途波澜中的文坛巨匠

欧阳修,字永叔,号醉翁、六一居士,生于北宋真宗景德四年(公元1007年),卒于北宋神宗熙宁五年(公元1072年),享年65岁。他是北宋时期著名的文学家、史学家,也是唐…

SpringBoot 大文件基于md5实现分片上传、断点续传、秒传

SpringBoot 大文件基于md5实现分片上传、断点续传、秒传 SpringBoot 大文件基于md5实现分片上传、断点续传、秒传前言1. 基本概念1.1 分片上传1.2 断点续传1.3 秒传1.4 分片上传的实现 2. 分片上传前端实现2.1 什么是WebUploader?功能特点接口说明事件APIHook 机制 …

索引失效有效的11种情况

1全职匹配我最爱 是指 where 条件里 都是 ,不是范围(比如>,<),不是 不等于,不是 is not null,然后 这几个字段 建立了联合索引 ,而且符合最左原则。 那么就要比 只建…

[C++] vector list 等容器的迭代器失效问题

标题:[C] 容器的迭代器失效问题 水墨不写bug 正文开始: 什么是迭代器? 迭代器是STL提供的六大组件之一,它允许我们访问容器(如vector、list、set等)中的元素,同时提供一个遍历容器的方法。然而…

【Perl】与【Excel】

引言 perl脚本语言对于文本的处理、转换很强大。对于一些信息量庞大的文本文件,看起来不直观,可以将信息提取至excel表格中,增加数据分析的可视化。perl语言的cpan提供了大量模块。对于excel文件的操作主要用到模块: Spreadshee…

Unity的三种Update方法

1、FixedUpdate 物理作用——处理物理引擎相关的计算和刚体的移动 (1) 调用时机:在固定的时间间隔内,而不是每一帧被调用 (2) 作用:用于处理物理引擎的计算,例如刚体的移动和碰撞检测 (3) 特点:能更准确地处理物理…

【算法】某赛车游戏中的组合计数问题及其扩展。推导思路:层层合并

文章目录 引言所有人都能完成可能有人未完成扩展问题参考资料 引言 在某款人称赛车界原神的赛车游戏中有组队竞速赛。共有n个人,n为偶数,分为人数相等的红队和蓝队进行比赛。结果按排名得分的数组为pts,单调递减且均为正整数。比如pts [10,…

算法day28

第一题 295. 数据流的中位数 本题我们是求解给定数组的中位数。且由于需要随时给数组添加元素,所以我们要求解该动态数组的中位数,所以本题最关键的就是维护数组在添加元素之后保持有序的排序,这样就能很快的求解中位数; 解法&am…

C++11完美转发(引用折叠、万能引用)

完美转发是指在函数模板中,完全依照模板的参数的类型,将参数传递给函数模板中调用的另外一个函数。 函数模板在向其他函数传递自身形参时,如果相应实参是左值,它就应该被转发为左值;如果相 应实参是右值,它…

web安全渗透测试十大常规项(一):web渗透测试之PHP反序列化

渗透测试之XSS跨站脚本攻击 1. PHP反序列化1.1 什么是反序列化操作? - 类型转换1.2 常见PHP魔术方法?- 对象逻辑(见图)1.2.1 construct和destruct1.2.2 construct和sleep1.2.2 construct和wakeup1.2.2 INVOKE1.2.2 toString1.2.2 CALL1.2.2 get()1.2.2 set()1.2.2 isset()1…

查看npm版本异常,更新nvm版本解决问题

首先说说遇见的问题,基本上把nvm,npm的坑都排了一遍 nvm版本导致npm install报错 Unexpected token ‘.‘install和查看node版本都正确,结果查看npm版本时候报错 首先就是降低node版本… 可以说基本没用,如果要降低版本的话&…

linxu-Ubuntu系统上卸载Kubernetes-k8s

如果您想从Ubuntu系统上卸载Kubernetes集群,您需要执行以下步骤: 1.关闭Kubernetes集群: 如果您的集群还在运行,首先您需要使用kubeadm命令来安全地关闭它: sudo kubeadm reset在执行该命令后,系统会提示…

【JavaEE进阶】——利用框架完成功能全面的图书管理系统

目录 🚩项目所需要的技术栈 🚩项目准备工作 🎈环境准备 🎈数据库准备 🚩前后端交互分析 🎈登录 📝前后端交互 📝实现服务器代码 📝测试前后端代码是否正确 &am…

01 - matlab m_map地学绘图工具基础函数理解(一)

01 - matlab m_map地学绘图工具基础函数理解(一) 0. 引言1. m_demo2. 小结 0. 引言 上篇介绍了m_map的配置过程,本篇开始介绍下m_map中涉及到的所有可调用函数。如果配置的没有问题,执行">>help m_map"可以看到类…