Python数据容器——集合的相关操作

作者:Insist--

个人主页:insist--个人主页

本文专栏:Python专栏

专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注。

目录

一、理解集合

1. 集合是什么?

2. 为什么需要集合?

3. 集合的特点

二、相关操作

1. 定义集合

2. 添加新元素

3. 删除元素

4. 清空集合

5. 取两个集合的差集

6. 统计集合元素数量


前言

本文将带大家来了解集合是什么?为什么需要集合?以及集合的相关操作。

一、理解集合

1. 集合是什么?

Python中的集合(set)是一种无序且不重复的数据集合。它是五种数据容器之一,可以用于存储和操作一组唯一的元素。集合中的元素没有固定的顺序,并且不允许重复。这意味着集合中的每个元素只能出现一次,没有重复的元素。

2. 为什么需要集合?

我们之前了解过列表、元组、字符串三种数据容器,这三种数据容器都是支持数据重复并且是有序的,如果我们希望存储的数据不能重复,使用集合就是最佳的选择,因为集合是不允许数据重复的,相当于自带去重功能,当有重复的数据时,会自动删除重复元素。

3. 集合的特点

  • 可存储多个数据并且可以存储多种类型
  • 数据是无序的并且不允许数据重复
  • 只支持for循环

二、相关操作

在Python中,我们可以使用set数据结构来完成你提出的需求。下面是一些基本的操作:

1. 定义集合

s = set()         # 空集合
s = {1,2,3,4,5}     # 有元素的集合

2. 添加新元素

s = set()           # 空集合s = {1,2,3,4,5}     # 有元素的集合s.add(8)            # 添加一个元素print(s)

如上代码,将元素(8),添加到集合(s)中,输入结果如下:

7d7ff984cdbc46a9b87355f966b5672d.png

3. 删除元素

s = {1,2,3,4,5}     # 有元素的集合s.add(8)            # 添加一个元素(8)s.remove(3)         # 删除一个元素(3)print(s)

如上代码,我们将集合(s)中的元素(3)删除掉,输出结果如下:

6cc21b6b9b7d462dae4f170ab5979fd4.png

4. 清空集合

import randoms = {1,2,3,4,5}     # 有元素的集合s.add(8)            # 添加一个元素(8)s.remove(3)         # 删除一个元素(3)s.clear()           # 清空集合print(s)

如上代码,我们使用clear方法将集合(s)里的内容清空,会得到一个空集合,输出结果如下:

e7b3729b1a38499598c5d6cdcc97ac63.png

5. 取两个集合的差集

s1 = {1, 2, 3, 4}s2 = {3, 4, 5, 6}diff = s1.difference(s2)print(diff) # 输出:{1, 2}

如上代码,取集合s1和s2的差集,输出结果如下:

01dcf028de47404f95c66a7c12c07f0b.png

6. 统计集合元素数量

s = {1, 2, 3, 4}s_number = len(s)    # 返回集合中元素的数量print(s_number)

如上代码。统计集合(s)中的数量,输出结果如下:

e2e14a83211d4333a0bd64644b7b1cf5.png

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 打包可执行文件-pyinstaller详解

python 打包可执行文件-pyinstaller详解 引言一、参数详解二、优化代码三、体积压缩 引言 pyinstaller是一个将python程序打包成独立可执行文件(exe,app等)的工具,它具有跨平台兼容性,可以在windows,mac和…

分享几个优秀开源免费管理后台模版,建议收藏!

大家好,我是 jonssonyan 今天和大家分享一些免费开源的后台管理页面,帮助大家快速搭建前端页面。为什么要用模板?道理很简单,原因是方便我们快速开发。我们不应该花太多的时间在页面调整上,而应该把精力放在核心逻辑和…

Electron笔记

基础环境搭建 官网:https://www.electronjs.org/zh/ 这一套笔记根据这套视频而写的 创建项目 方式一: 官网点击GitHub往下拉找到快速入门就能看到下面这几个命令了 git clone https://github.com/electron/electron-quick-start //克隆项目 cd electron-quick-start //…

【有限域除法】二元多项式除法电路原理及C语言实现

二元多项式除法电路原理 例: g ( x ) = x 4 + x 2 + x + 1 g(x)=x^4 + x^2+x+1

gorm 自定义时间、字符串数组类型

文章目录 自定义时间类型自定义字符串数组测试与完整代码测试代码测试结果 GORM 是GO语言中一款强大友好的ORM框架,但在使用过程中内置的数据类型不能满足以下两个需求,如下: time.Time类型返回的是 2023-10-03T09:12:08.5352808:00这种字符串…

Qt之显示PDF文件

之前使用过mupdf库,能够成功显示pdf,但是我用着有BUG,不太理解它的代码,搞了好久都不行。后面又试了其他库,如pdfium、popler、下载了很多例程,都跑不起来!后面偶然得知xpdf库,看起来…

数据科学家的编程语言

数据科学家的编程语言 在今天有256种编程语言可供选择,选择要学习的语言可能会令人不知所措和困难。有些语言更适用于构建游戏,而有些更适用于软件工程,还有一些更适用于数据科学。 编程语言的类型 低级编程语言是计算机用来执行操作的最容…

@ConfigurationProperties配置绑定~

ConfigurationProperties注解是Spring Boot中的一个注解,用于将配置文件中的属性值绑定到Java类中的字段上。 ConfigurationProperties注解的作用包括: 实现配置文件属性和Java类字段的映射,简化了读取配置文件的操作。 可以指定配置文件中…

vue3 中使用echarts图表——柱状图

柱状图是比较常用的图形结构&#xff0c;所以我先收集一些精美的柱状图 一、柱状图&#xff1a;设置圆角和颜色 <template><div class"box" ref"chartDom"></div> </template> <script setup> import { ref, onMounted } fr…

CSS波浪进度条

目录 1. &#x1f310; 介绍 2. &#x1f3d7;️ HTML结构 3. &#x1f3a8; 页面样式 4. &#x1f4e6; 容器和波浪 5. &#x1f30a; 波浪效果 6. &#x1f4ca; 进度文本 7. &#x1f504; 旋转动画 8. &#x1f31f; 整体效果 9. &#x1f389; 结论 获取完整代码…

使用Scipy优化梯度下降问题

目 录 问题重述 附加问题 步骤实施 1.查看Scipy官网SciPy&#xff0c;找到优化有关的模块&#xff08;Optimize&#xff09; 2.研究多种优化策略&#xff0c;选择最符合代码的方案进行优化 3.minimize函数参数及其返回值 4.代码展示 5.结果展示 6.进一步优化 6.1对…

NEFU数字图像处理(1)绪论

一、简介 1.1什么是数字图像 图像是三维场景在二维平面上的影像。根据其存储方式和表现形式&#xff0c;可以将图像分为模拟图像和数字图像两大类 图像处理方法&#xff1a;光学方法、电子学方法 模拟图像&#xff1a;连续的图像数字图像&#xff1a;通过对时间上和数值上连续…