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.xdnf.cn/news/149839.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

好奇喵 | Tor浏览器——访问.onion网址,揭开Dark Web的神秘面纱

前言 在之前的博客中: 1.Surface Web —> Deep Web —> Dark Web,我们解释了表层网络、深层网络等的相关概念; 2.Tor浏览器——层层剥开洋葱,我们阐述了Tor的历史和基本工作原理; 3.Tor浏览器…

【亲测有效】C盘容量满了,给C盘扩容!!!

前言 相信有很多小伙伴用自己电脑的时候明明不往C盘装东西,但是C盘还是慢慢的变红了,我也是因为C盘满了而备受困扰。又不知道如何解决或者怕自己鼓捣着磁盘数据没了。闲来无事,我查了一些资料,终于将我的C盘容量扩充了且数据保存…

基于Java的在线教育平台设计与实现(源码+lw+ppt+部署文档+视频讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

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

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

CDN网络基础入门:CDN原理及架构

背景 互联网业务的繁荣让各类门户网站、短视频、剧集观看、在线教育等内容生态快速发展,互联网流量呈现爆发式增长,自然也面临着海量内容分发效率上的挑战,那么作为终端用户,我们获取资源的体验是否有提升呢? 答案是…

嵌入式学习笔记(47)Nand的常见操作及流程分析

9.3.1坏块检查 (1)Flash使用之前一定要先统一擦除(擦除的单元是块)。Flash类设备擦除后里边全是1,所以擦干净之后读出来的值是0xFF (2)检查坏块的思路就是:先擦除,然后将整个块读出来,依次检测各字节是否…

基于Java的个性化旅游攻略系统设计与实现(源码+lw+ppt+部署文档+视频讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

如何使用 Overleaf 编写 LaTeX 文档

如何使用 Overleaf 编写 LaTeX 文档 😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦!&#x1f…

使用Python爬虫抓取网站资源的方法

Python爬虫是一种自动化程序,用于从互联网上获取数据。使用Python爬虫可以轻松地抓取网站上的各种资源,例如文本、图片、视频等。在本文中,我们将介绍如何使用Python爬虫抓取网站资源。 安装Python 在使用Python爬虫之前,需要先安…

vector的介绍以及使用方式

目录 前言 1.vector的介绍 2.构造函数 3.迭代器 4.vector空间增长问题 5.vector的增删改查 6.vector迭代器失效问题 总结 前言 即我们的string之后,今天小编给大家要介绍一个我们stl中另外一个常用的容器vector,和我们的string一样我们的vector…

7.wifi开发【智能家居:终】,实践总结:智能开关,智能采集温湿,智能灯。项目运行步骤与运行细节,技术归纳与提炼,项目扩展

一。项目运行步骤与运行细节 1.项目运行步骤(一定有其他的运行方式,我这里只提供一种我现在使用的编译方式) (1)项目运行使用软件与技术: 1.Virtual linux 使用这个虚拟机进行程序的编译 2.Makefile与shl…

JavaEE-线程进阶

模拟实现一个定时器 运行结果如下&#xff1a; 上述模拟定时器的全部代码&#xff1a; import java.util.PriorityQueue;//创建一个类&#xff0c;用来描述定时器中的一个任务 class MyTimerTask implements Comparable<MyTimerTask> {//任务执行时间private long …

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

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

【Docker Compose】Docker Compose 的安装,使用以及实现微服务集群的部署

文章目录 前言&#xff1a;Docker 部署存在的问题一、 初识 Docker Compose1.1 什么是 Docker Compose1.2 在 CentOS 上安装 Docker Compose 二、深入了解 Docker Compose 文件2.1 Docker Compose 文件概述2.2 Docker Compose 文件详解2.3 示例&#xff1a;编写 Docker Compose…

Linux上将进程、线程与CPU核绑定

CPU亲和性(CPU Affinity)是某一进程(或线程)绑定到特定的CPU核(或CPU集合)&#xff0c;从而使得该进程(或线程)只能运行在绑定的CPU核(或CPU集合)上。进程(或线程)本质上并不与CPU核绑定。每次进程(或线程)被调度执行时&#xff0c;它都可以由其关联列表中的任何CPU核执行。如果…

WEB3 创建React前端Dapp环境并整合solidity项目,融合项目结构便捷前端拿取合约 Abi

好 各位 经过我们上文 WEB3 solidity 带着大家编写测试代码 操作订单 创建/取消/填充操作 我们自己写了一个测试订单业务的脚本 没想到运行的还挺好的 那么 今天开始 我们就可以开始操作我们前端 Dapp 的一个操作了 在整个过程中 确实是没有我们后端的操作 或者说 我们自己就…

Ipython和Jupyter Notebook介绍

Ipython和Jupyter Notebook介绍 Python、IPython和Jupyter Notebook是三个不同但密切相关的工具。简而言之&#xff0c;Python是编程语言本身&#xff0c;IPython是对Python的增强版本&#xff0c;而Jupyter Notebook是一种在Web上进行交互式计算的环境&#xff0c;使用IPytho…

数据科学家的编程语言

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

主流的图像—文本的多模态技术实现方法有哪些?

大体上可划分为3类&#xff1a; 1&#xff09;训练中间层以对齐视觉模块和语言模型。该类方法首先预训练视觉模块&#xff0c;将这些视觉模块与LLM冻结&#xff0c;然后在视觉模块与LLM之间插入可训练的中间层&#xff0c;构建多模态模型。接着在大规模的图像—文本对数据集上…

WPF中, 如何将控件的触发事件绑定到ViewModel

在DataGrid 等控件中, 有很多这种带闪电符号的触发事件. 如果用传统的事件驱动, 则直接在后台中建立 一个private PropertyChanged(Sender s, EventAgars Args) 即可. 但是如果需要绑定到ViewModel的话? 应该怎么做? 带闪电符号的触发事件 实现viewModel绑定前端触发事件的…