课时19:集合的介绍

简介: 集合是Python中一种不可重复且无序的数据结构,用于存储唯一的元素。其主要特点包括:1. 唯一性:集合中的元素不能重复。2. 无序性:元素的顺序不按插入顺序保存。3. 不可变对象:只能存储不可变类型(如字符串、数字、元组),不能存储列表或字典等可变对象。

集合的介绍

 

摘要:本内容为集合的介绍内容。

 

01.集合内容的基础介绍


1.1集合内容的基础信息

集合(Set)集合和列表非常相似直接向对象中存储数据,但是也有不同。

不同点:

1.集合中只能存储不可变对象例如字符串,数字,元组,None,True,False在集合中可以存储。若向集合中加入字典,做个列表是不可行的。

2.集合中存储的对象是无序无序是相对于列表而言,在列表中存储数据,第一个数据放在所有位为零的位置,第二个数据放在所有为1的位置,以此类推,每个数据位置是按照所存的数据保存的。集合中不一样,第一个数据可能放在第四个,第二个放在第五个,顺序都是乱的,实际上他不是无需的。(不是按照元素的插入顺序保存)顺序与插入顺序无关。

3.集合中不能出现重复的元素集合中不能出现两个一,两个二,两个三,两个Hello,两个ABC,不能出现重复因素,元素都是唯一的。

几何与列表很像,也有很多不同点。

查找文档:

image.png

image.png

进入有相关集合的介绍,自行浏览查阅。

创建文件:

image.png

 

1.2集合的特点

集合

(1)使用{ }来创建集合

S={1,2,3,4} #<Class 'Set'>  这就是一个集合
Print(s type(s))

保存执行:

image.png

若为如下:

S={10,3,5,1,2}
Print(s type(s))

保存执行:

image.png

与插入顺序不一样,所说的无序数据保存的顺序与插入的顺序不同,这就是无序。

这就是集合的创建,非常简单,使用大括号。

S={10,3,5,1,2,1,2,3,1,1,1,1}
Print(s type(s))

保存执行:

image.png

仅有一个1,因为集合当中元素不能够重复。所有重复的都会被去除。

S={[1,2,3],[4,6,7]}  TypeError:unhashable type:'list'
//在集合中保存列表
Print(s type(s))

保存执行:

image.png

报错,集合中只能存储不可变对象,列表是不可行的,只能存储数字、字符串这些,不然会报错。

若想创建空集合

S={ } 这不是空集合,这是字典。若想创建空集合,必须使用第二种set( )方法,如下。

(2)使用Set( )函数来创建集合

S=Set( )  //这是一个空集合

保存执行:此为空集合

image.png

(3)可以通过Set( )来将序列和字典转换为集合

S=Set([1,2,3,4,5,1,1,2,3,4,5])

保存执行:

image.png

重复的数字都去除,将上述列表转换为集合,书写为元组也是可行的,或者使用字符串。

S=Set(’Hello’)

保存执行:

image.png

集合中数字是不可重复的,并且是无序的,与插入顺序没有关系会自动排序。

S=Set({'a':1,b':2,'c':3})

保存执行:

image.png

使用Set( )将字典转换为集合时,只会包含字典中的键

(4)创建集合

S={'a','b',1,2,3}

保存执行:

image.png

测试集合是否通过索引来进行:

Print(s,type(s))
Print(s[0])

保存执行:

image.png

报错,集合不能够通过索引来操作,若想必须转化为列表。

如下:

Print(1ist(s)[0])

保存执行:

image.png

(5)使用In和Not in来检查集合中的元素

Print('a' in  s)

保存执行:

image.png

Print('c' in  s)

保存执行:

image.png

(6)使用Len( )来获取集合中元素的数量

Print(len(s))

保存执行:重复的元素,会自动去重

image.png

部分情况下想加入元素进入集合。

Print(s type(s))

保存执行:

image.png

(7)add( )向集合中添加元素

S.add(10)

保存执行:添加成功

image.png


S.add(30)

保存执行:添加成功

image.png

再次进行:

S.add(30)

保存执行:30已经添加了,就加不进去了

  image.png

 

查看是否有返回值:

Print(s.add(30))

保存执行:此处没有返回值

image.png

(8)Update( )将一个集合中的元素添加到当前集合中

S2=set('hello')
S. update(s2)

执行结果:S2为元素添加至S中,和字典的 Update一模一样

image.png

传元组:S.update((10,20,30,40))

保存执行:

image.png

S.update((10,20,30,40,50))

保存执行:

image.png

此处并不仅能传集合,序列也可行。

传字典:S.update({10:'ab',20:'bc',100:'cd',1000:'ef'})

保存执行:

image.png

注意:Update( )可以传递序列或字典作为参数,字典只会使用键

(9 )Pop( )随机删除一个集合中的元素

S.pop( )

保存执行:

image.png

再次S.pop( )

保存执行:

image.png

再次S.pop( )

保存执行:

image.png

数字顺序由Phyon解释器自行排序,无法控制,删除数据对于学习者为随机的。

Result =s.pop( )
Print(result)

保存执行:

image.png

再次:

Result =s.pop( )
Result =s.pop( )
Print(result)

保存执行:

image.png

Pop( )随机删除并返回一个集合中的元素

(10)Remove()删除集合中的指定元素

Result=s.remove(100)

保存执行:

image.png

S.remove(100)

S.remove(1000)

保存执行:

image.png

(11)Clear( )清空集合

S.clear( )

保存执行:变成空集合

image.png

(12)Copy( )对集合进行浅复制

以上是集合的常用方法,总之集合是一个不可重合的序列,其中的元素是不可重复的,列表中的元素是唯一的,可选择使用集合,整体而言,使用不多。

相关文章
|
8月前
|
Python
课时20:集合的运算
本内容介绍集合的运算,涵盖交集、并集、差集、异或集及子集等概念。通过Python代码示例详细说明各运算符(如 &、|、-、^、&lt;=、&lt;、&gt;=、&gt;)的使用方法,并解释其在实际编程中的应用。重点在于理解集合运算的基本原理及其在编程中的实现,帮助读者掌握集合运算的基础知识。
|
8月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
464 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
8月前
|
存储 NoSQL MongoDB
枫叶互动携手阿里云和MongoDB:数据赋能音视频娱乐新业态
枫叶互动携手阿里云和MongoDB:数据赋能音视频娱乐新业态
枫叶互动携手阿里云和MongoDB:数据赋能音视频娱乐新业态
|
8月前
|
Cloud Native Java 中间件
如何在一个基座上安装更多的 Koupleless 模块?
通过简单的配置,让模块打包更小,从而在一个基座上安装更多的 Koupleless 模块,进一步降低资源成本。
如何在一个基座上安装更多的 Koupleless 模块?
|
9月前
|
存储 缓存 资源调度
全局缓存yarn
在现代前端开发中,Yarn 是重要的包管理工具。本文为初学者详细介绍如何实现“全局缓存 Yarn”,包括安装 Yarn、配置全局缓存路径及验证配置是否成功。通过设置缓存路径(如 `~/.cache/yarn`),避免重复下载相同包,提升开发效率并节省网络带宽。最后通过安装和验证包(如 lodash)确保配置有效。良好的包管理习惯对项目维护至关重要。
263 1
全局缓存yarn
|
8月前
|
算法 Java
算法系列之数据结构-二叉搜索树
二叉查找树(Binary Search Tree,简称BST)是一种常用的数据结构,它能够高效地进行查找、插入和删除操作。二叉查找树的特点是,对于树中的每个节点,其左子树中的所有节点都小于该节点,而右子树中的所有节点都大于该节点。
336 22
|
8月前
|
安全 API Go
如何实现和调试REST API中的摘要认证(Digest Authentication)
本文介绍如何实现和调试REST API中的摘要认证(Digest Authentication),涵盖其原理、优势及Java和Go语言的实现示例。摘要认证通过哈希算法处理密码,避免明文传输风险,并使用nonce防止重放攻击,确保数据完整性。文中还提供了Postman、cURL和Insomnia等工具的测试方法,帮助开发者轻松验证API的安全性。总结指出,摘要认证相比基本认证更安全,适合需要高安全性的API应用。
|
8月前
|
机器学习/深度学习 人工智能 量子技术
量子计算的商业化前景:未来科技的颠覆性力量
量子计算的商业化前景:未来科技的颠覆性力量
472 17
|
8月前
|
数据采集 传感器 算法
从数据中挖掘洞见:初探数据挖掘的艺术与科学
从数据中挖掘洞见:初探数据挖掘的艺术与科学
209 11