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

news2024/10/5 13:42:04

作者: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 random

s = {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.coloradmin.cn/o/1063477.html

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

相关文章

typora + picgo + 对象存储 OSS

文章目录 一、安装软件二、使用阿里云 oss 存储图片三、picgo 设置四、typora 设置自动上传 一、安装软件 Typora1.3.8 (安装即破解) picgo 2.3.0 安装 阿里云盘(软件安装包): https://www.aliyundrive.com/s/saQoS…

Windows10实用的12个快捷组合键

Windows10实用的12个快捷组合键 1、网页多标签切换 CTRL TAB 2、恢复不小心关闭的标签页 CTRLSHIFT T 3、新建标签页 CTRL T 4、高亮选择地址栏 ALT D 5、打开设置 WIN I 6、打开任务管理器 CTRLSHIFT ESC 7、打开文件资源管理器 WIN E 8、黑屏或屏幕卡顿无响应&#x…

python实验(超详细)

目录 实验一 python编程基础实验二 python序列、字符串处理实验三 函数及python类的定义与使用实验四 python综合应用 实验一 python编程基础 在交互式环境中打印“Hello world”字符串。记录操作过程。 略 创建脚本helloworld.py,在命令符提示环境中执行程序&…

【Oracle】Oracle系列十八--Oracle RAC

文章目录 往期回顾前言1. Oracle RAC介绍1.1 基本概念1.2 Oracle RAC应用场景1.3 Oracle RAC的优缺点 2. Oracle RAC架构3. Oracle RAC 的安装 往期回顾 【Oracle】Oracle系列之一–Oracle数据类型 【Oracle】Oracle系列之二–Oracle数据字典 【Oracle】Oracle系列之三–Orac…

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

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

网络层·IP协议

承接前文TCP协议-CSDN博客 简介 协议头格式 网段划分(重要) 划分方法 IP地址的数量限制(背景介绍) 私有IP地址和公网IP地址(提出解决思路) NAT技术(解决方法) 路由 网络层 在复杂的网络环境中确定一个合适的路径 IP协议 主机: 配有IP地址, 可以认为就是你的电脑; 路由器:…

2.SpringBoot项目搭建

SpringBoot项目搭建 JavaEE对新手非常友好的 搭建框架。 集成了JavaEE开发中大部分的功能。 1.进行创建 2.进行配置 点击创建,springboot项目创建完成,下篇是安装lombok & maven镜像设置 设置完成后之后便可以启动项目了。 3.各个部分说明

【最新】如何在CSDN个人主页左侧栏添加二维码?侧边推广怎么弄?

目录 引言 效果展示 步骤讲解 引言 当你决定在CSDN上展示自己的技术才能和项目时,💡 将你的个人主页变得更炫酷和引人注目是必不可少的!在这篇博客中,我们将向你揭开神秘的面纱,教你如何在CSDN个人主页的左侧栏上添…

分享一款yyds!电子期刊制作网站

大家好,今天要跟大家分享一个超级赞的资源!有没有曾经你苦苦寻找的那一款适合自己的电子期刊制作网站呢?下面就让我来给大家详细介绍一个非常棒的网站,有了它,你可以轻松制作出专业、精美的电子期刊! 1.打开…

突破封锁|华为芯片10年进化史:从K3V1到麒麟9000S

华为海思麒麟芯片过去10年研发历程回顾如下: 2009年:华为推出第一款手机芯片K3V1,采用65nm工艺制程,基于ARM11架构,主频600MHz,支持WCDMA/GSM双模网络。这款芯片搭载在华为U8800手机上,标志着华…

基于时空注意力融合网络的城市轨道交通假期短时客流预测

导读 本论文于2023年发表于交通领域知名期刊《IEEE Intellgent Transportations Systems Magazine》上。该论文旨在研究节假日期间城市轨道交通进站流预测问题,通过搭建时空注意力融合网络,有效融合客流数据和节假日相关社交媒体数据,充分捕捉…

golang gin——文件上传(单文件,多文件)

文件上传 单文件上传 从form-data获取文件 package uploadimport ("github.com/gin-gonic/gin""net/http" ) // 单文件上传,多文件上传 func Upload(c *gin.Context) {file, _ : c.FormFile("file") // file为字段名dst : "…

Java课设 保存计算过程的计算器(附完整源码)

目录 前言calculator.javaMyForm.javamain.java 前言 这是一个保存计算过程的计算器,calculator.java中实现计算原理,MyForm.java中实现面板。效果如图: calculator.java import java.util.Stack;public class Calculator {public String c…

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

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

苹果系统_安装matplotlib__pygame,以pycharm导入模块

为了更便捷、连贯的进行python编程学习,尽量在开始安装python软件时,将编辑器、模块一并安装好,这样能避免以后版本冲突的问题。小白在开始安装pycharm、pip、matplotlib往往会遇到一些问题,文中列示其中部分bug,供大家…

一文了解硬盘AFR年化故障率评估方式和预测方案

目前常用评价硬盘(或者其他硬件产品)有一个关键的指标就是年化故障率(AFR)。年化故障率(AFR)是一种衡量产品可靠性的指标,表示在一年内产品发生故障的概率。 除了年化故障率(AFR&…

一文搞懂Java线程中断协商机制,如何优雅中断一个正在运行的线程?

文章目录 一、中断机制概述1、中断API2、什么是中断机制3、如何理解中断机制4、三大中断方法源码详解(1)interrupt()(2)interrupted()(3)isInterrupted()(4)注意!不同jdk…

Electron笔记

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

阿里云服务器e系列是共享型?什么意思?

阿里云服务器经济型e实例是共享型云服务器,共享型实例采用非绑定CPU调度模式。每个vCPU会被随机分配到任何空闲CPU超线程上,不同实例vCPU会争抢物理CPU资源,并导致高负载时计算性能波动不稳定,有可用性SLA保证,但无性能…

【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)

一,VMware下载地址: 百度网盘链接链接:百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https:/…