当前位置: 首页 > news >正文

Python基础(七)之数值类型集合

Python基础(七)之数值类型集合

Python_logo

1、简介

  • 集合,英文set。

  • 集合(set)是由一个或多个元素组成,是一个无序且不可重复的序列。

  • 集合(set)只存储不可变的数据类型,如Number、tuple、字符串等,而无法存储列表、字典、集合这些可变的数据类型。

2、创建集合

创建集合可以使用大括号{}或者set()函数创建集合。

创建一个空集合必须使用set()函数,而不是{},因为{}是用来创建字典。
# 创建空集合
s_set = set()
print('s_set的数据类型:', type(s_set))
# 创建非空集合
s_set1 = {1,2,3,4,5}
print('s_set1的数据类型:', type(s_set1))s_set2 = set({1,2,3,4,5})
print('s_set2的数据类型:', type(s_set2))'''
s_set的数据类型: <class 'set'>
s_set1的数据类型: <class 'set'>
s_set2的数据类型: <class 'set'>
'''

3、集合去重

集合最大的特性就是不能存储重复的数据,这个特性可以用来去除列表中的重复数据。

s = 'hello'
s_list = list(s)
print('s_list集合元素:', s_list)
s_set = set(s_list)
print('去重后的s_set集合元素:', s_set)
s_list = list(s_set) # 将去重后的集合再赋值给集合
print('去重后的s_list集合元素:', s_list)'''
s_list集合元素: ['h', 'e', 'l', 'l', 'o']
去重后的s_set集合元素: {'o', 'e', 'l', 'h'}
去重后的s_list集合元素: ['o', 'e', 'l', 'h']
'''

4、 集合添加元素

在Python中,集合中添加元素使用add()函数。

# 创建一个空的集合
s_set = set()
print('打印空集合s_set=', s_set)
s_set.add('hello')
print('打印增元素后的集合s_set=', s_set)'''
打印空集合s_set= set()
打印增元素后的集合s_set= {'hello'}
'''

5、集合删除元素

在Python中,集合删除某个元素,使用remove()函数。

# 创建一个集合
s_set = set({'hello', 'Python', 'come'})
print('打印集合s_set=', s_set)s_set.remove('come')
print('打印删除元素后的集合s_set=', s_set)'''
打印集合s_set= {'hello', 'Python', 'come'}
打印删除元素后的集合s_set= {'hello', 'Python'}
'''

6、交集运算

在Python中,集合可以像数学中集合一样,进行交集、并集、差集运算。

6.1、交集

  • 交集运算时,使用 & 符号。交集就是两个集合相同的元素。
s_set1 = {1, 2, 3, 4, 5}
s_set2 = {3, 4, 5, 6, 7}
print('交集运算后的结果s_set1 & s_set2 = :', s_set1 & s_set2)'''
交集运算后的结果s_set1 & s_set2 = : {3, 4, 5}
'''

6.2、并集

  • 并集运算时,使用 | 符号。并集就是将两个集合的所有元素加起来切不重复。
s_set1 = {1, 2, 3, 4, 5}
s_set2 = {3, 4, 5, 6, 7}
print('交集运算后的结果s_set1 | s_set2 = :', s_set1 | s_set2)'''
交集运算后的结果s_set1 | s_set2 = : {1, 2, 3, 4, 5, 6, 7}
'''

6.3、差集

  • 差集运算时,使用 - 符号。 差集就是在一个集合中去除另一个集合所包含的元素。
s_set1 = {1, 2, 3, 4, 5}
s_set2 = {3, 4, 5, 6, 7}
print('交集运算后的结果s_set1 - s_set2 = :', s_set1 - s_set2)
print('交集运算后的结果s_set2 - s_set1 = :', s_set2 - s_set1)'''
交集运算后的结果s_set1 - s_set2 = : {1, 2}
交集运算后的结果s_set2 - s_set1 = : {6, 7}
'''

相关文章:

Python基础(七)之数值类型集合

Python基础&#xff08;七&#xff09;之数值类型集合 1、简介 集合&#xff0c;英文set。 集合&#xff08;set&#xff09;是由一个或多个元素组成&#xff0c;是一个无序且不可重复的序列。 集合&#xff08;set&#xff09;只存储不可变的数据类型&#xff0c;如Number、…...

电脑充电器能充手机吗?如何给手机充电?

电脑充电器可以给手机充电吗&#xff1f; 电脑充电器可以给手机充电&#xff0c;但前提是电脑充电器的功率输出与手机的功率匹配且接口匹配。 假设电脑充电器的输出功率为5V/2A&#xff0c;手机也支持5V/2A的输入功率。 只要接口匹配&#xff0c;就可以使用电脑充电器给手机充…...

矩阵中移动的最大次数

文章目录 所属专栏:BFS算法 题目链接 思路如下&#xff1a; 1.首先我们需要从第一列开始遍历&#xff0c;寻找每一个都能够满足条件的位置&#xff0c;将它插入到数组里面 2.第一列遍历完了后我们先判断第一列的数是否都满足条件插入到数组里面&#xff0c;如果数组为空&#…...

Linux:系统初始化,内核优化,性能优化(3)

优化系统的文件句柄数&#xff08;全局&#xff09; 也就是系统的最大文件数量 查看最大数量 cat /proc/sys/fs/file-max 当我们的服务器有非常大的一个数据并发的时候十几二十万的文件需要去配置&#xff0c;可能这个是远远不够的&#xff0c;我们就要去修改 vim /etc/sy…...

使用 GitHub Actions 通过 CI/CD 简化 Flutter 应用程序开发

在快节奏的移动应用程序开发世界中&#xff0c;速度、可靠性和效率是决定项目成功或失败的关键因素。持续集成和持续部署 (CI/CD) 实践已成为确保满足这些方面的强大工具。当与流行的跨平台框架 Flutter 和 GitHub Actions 的自动化功能相结合时&#xff0c;开发人员可以创建无…...

微软 CEO Satya Nadella 的访谈

Nicolai: 大家好。我刚经历了人生中最不可思议的事情&#xff0c;我有幸采访了微软的 CEO、Satya Nadella。微软现在是全球市值最高的公司。真是太棒了&#xff0c;请继续关注。 第一章 微软的发展与平台转变 Nicolai: Satya&#xff0c;你是全球市值最高公司的 CEO&#xff…...

万界星空科技商业开源MES,技术支持+项目合作

商业开源的一套超有价值的JAVA制造执行MES系统源码 亲测 带本地部署搭建教程 教你如何在本地运行运行起来。 开发环境&#xff1a;jdk11tomcatmysql8springbootmaven 可以免费使用&#xff0c;需要源码价格便宜&#xff0c;私信我获取。 一、系统概述&#xff1a; MES制造执…...

Docker Mysql无root账户创建最高权限用户

创建最高权限用户 进入 MySQL 容器的命令行界面。您可以使用以下命令&#xff1a; 修改配置文件my.cnf 无密码进入 [mysqld]下输入 skip-grant-tables重启mysql容器 进入容器内部 container_name 容器ID或name docker restart mysql docker exec -it <container_name>…...

常用芯片学习——DS3231M芯片

DS3231M RTC实时时钟 芯片介绍 DS3231M是一款低成本、极其精确的 I2C 实时时钟 &#xff08;RTC&#xff09;。该设备集成了电池输入&#xff0c;并在设备主电源中断时保持准确的计时。微型电子机械系统 &#xff08;MEMS&#xff09; 谐振器的集成提高了器件的长期精度&…...

蓝桥杯单片机快速开发笔记——矩阵键盘

一、原理分析 二、思维导图 三、示例框架 定义了四个位控制变量&#xff0c;用于控制键盘扫描时的行列信号。 在Scan_Keys()函数中&#xff0c;首先设置行列信号&#xff0c;将其中一个行信号置为0&#xff0c;另一个行信号置为1&#xff0c;同时将列信号置为1&#xff0c;用于…...

每周一算法:双向深搜

题目描述 达达帮翰翰给女生送礼物&#xff0c;翰翰一共准备了 N N N 个礼物&#xff0c;其中第 i i i 个礼物的重量是 G [ i ] G[i] G[i]。 达达的力气很大&#xff0c;他一次可以搬动重量之和不超过 W W W的任意多个物品。 达达希望一次搬掉尽量重的一些物品&#xff0c;请…...

蓝桥杯刷题(十)

1.翻转 代码 输入数据&#xff0c;每组数据进行比较&#xff0c;j的范围掐头去尾&#xff0c;若a[j]b[j]&#xff0c;继续&#xff0c;若出现010,101子串则改成000,111&#xff0c;遍历完后比较a是否等于b&#xff0c;相同则输出次数&#xff0c;不同则输出-1。 for _ in ran…...

ioDraw:与 GitHub、gitee、gitlab、OneDrive 无缝对接,绘图文件永不丢失!

&#x1f31f; 绘图神器 ioDraw 重磅更新&#xff0c;文件保存再无忧&#xff01;&#x1f389; 无需注册&#xff0c;即刻畅绘&#xff01;✨ ioDraw 让你告别繁琐注册&#xff0c;尽情挥洒灵感&#xff01; 新增文件在线实时保存功能&#xff0c;支持将绘图文件保存到 GitHu…...

利用 Python 处理遥感影像数据:计算年度平均影像

在地球科学、气象学以及环境监测等领域&#xff0c;遥感影像数据是一种重要的信息源&#xff0c;它们可以提供地表的地形、植被覆盖、气候变化等丰富信息。然而&#xff0c;随着观测技术的进步&#xff0c;我们通常会获得大量的遥感影像数据&#xff0c;如何高效地处理和分析这…...

【Leetcode-73.矩阵置零】

题目&#xff1a; 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&…...

redis 常见的异常

目录 一、缓存穿透 1、概念 解决方案 &#xff08;1&#xff09;布隆过滤器 (2)、缓存空对象 二、缓存雪崩 1、概念 解决方案 &#xff08;1&#xff09;redis高可用 &#xff08;2&#xff09;限流降级 &#xff08;3&#xff09;数据预热 一、缓存穿透 1、概念 缓…...

npm包、全局数据共享、分包

使用 npm 包 小程序对 npm 的支持与限制 目前&#xff0c;小程序中已经支持使用 npm 安装第三方包&#xff0c;从而来提高小程序的开发效率。但是&#xff0c;在小程序中使用npm 包有如下 3 个限制&#xff1a; ① 不支持依赖于 Node.js 内置库的包 ② 不支持依赖于浏览器内置…...

UnityShader:IBL

效果&#xff1a; 实现&#xff1a; Shader "MyShader/IBL" {Properties{_CubeMap ("环境贴图", Cube) "white" {}_Exposure("曝光",float)1.0_Color("颜色",color)(1,1,1,1)_NormalMap("法线贴图",2d)"bu…...

每日五道java面试题之mybatis篇(三)

目录&#xff1a; 第一题. MyBatis的框架架构设计是怎么样的?第二题. 为什么需要预编译?第三题. Mybatis都有哪些Executor执行器&#xff1f;它们之间的区别是什么&#xff1f;第四题. Mybatis中如何指定使用哪一种Executor执行器&#xff1f;第五题. Mybatis是否支持延迟加载…...

C#开发五子棋游戏:从新手到高手的编程之旅

C#开发五子棋游戏&#xff1a;从新手到高手的编程之旅 目录 一、引言 二、项目规划与设计思路 三、棋盘与棋子的数据模型构建 四、交互式用户界面设计 五、核心游戏逻辑实现 一、引言 五子棋&#xff0c;作为一种古老的策略型棋类游戏&#xff0c;在全球拥有广泛的爱好者…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

【Vue】scoped+组件通信+props校验

【scoped作用及原理】 【作用】 默认写在组件中style的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题 故而可以给组件加上scoped 属性&#xff0c; 令样式只作用于当前组件的标签 作用&#xff1a;防止不同vue组件样式污染 【原理】 给组件加上scoped 属性后…...

timestamp时间戳转换工具

作为一名程序员&#xff0c;一款高效的 在线转换工具 &#xff08;在线时间戳转换 计算器 字节单位转换 json格式化&#xff09;必不可少&#xff01;https://jsons.top 排查问题时非常痛的点: 经常在秒级、毫秒级、字符串格式的时间单位来回转换&#xff0c;于是决定手撸一个…...