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

news2025/1/11 6:00:20

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}
'''

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

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

相关文章

uwsgi+nginx+django 部署学习

收集静态文件及部署配置 DEBUG False STATICFILES_DIRS [os.path.join(BASE_DIR, "static"), ] STATIC_ROOT /data/static python3 manage.py collectstatic 收集静态文件&#xff0c;成功后可在STATIC_ROOT目录查看 安装依赖 pip3 install uwsgi django项目结…

docker基础用法-2

文章目录 什么是dockerOCI&OCFOCIOCF docker架构docker镜像与镜像仓库docker对象安装及使用dockerdocker安装docker加速docker常用操作docker event state防火墙状态及规则 什么是docker docker中的容器&#xff1a; lxc --> libcontainer --> runC docker最开始是…

嵌入式学习之Linux系统编程篇笔记——系统编程初探

配套视频学习链接&#xff1a;https://www.bilibili.com/video/BV1zV411e7Cy?p2&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux系统编程的基本认识 什么是Linux系统编程? 什么是系统编程 系统编程的作用 怎么学习Linux系统编程? Linux系统编程基本程序框…

数据可视化学习:Matplotlib概述

一、图表的常用设置 1.基本绘图主要函数 (1).matplotlib.pyplot.plot(x,y,format_string,**kwargs) 2.参数说明 (1).x:x轴数据 (2).y:y轴数据 (3).format_string:控制曲线格式的字符串&#xff0c;包括颜色、线条样式和标记样式 (4)**kwargs:键值参数&#xff0c;相当于…

IDEA : 已经有一个永久破解版的IDEA2019版本,现在又想安装最新版本的,俩版本共存,发现新版本打不开的解决方案

在新文件的目录下&#xff0c;注释掉一行19版本的地址 地址&#xff1a;C:\Users\23999\AppData\Roaming\JetBrains\IntelliJIdea2023.2 (不同电脑Users后边的一个地址的注释会不一样) 然后找到该目录下的indea64.exe.vmoptions 用 记事本 打开 在-javaagent 那一栏里会自动给…

如何学习一个大型分布式Java项目

前言 很多同学在没有实习经验的时候看到一个多模块分布式项目总是有一种老虎吃天的无力感&#xff0c;就像我刚毕业去到公司接触项目的时候一样&#xff0c;模块多的夸张&#xff0c;想学都不知道从哪开始学&#xff0c;那么我们拿到一份代码后如何从头开始学习一个新项目呢。…

ThingsBoard Edge 设备控制

文章目录 一、RPC 功能1.服务端 RPC2.客户端 RPC3.MQTT RPC API3.1.服务端RPC3.2.客户端RPC 二、设备控制1.环境准备2.创建设备3.服务端PRC3.1.RPC消息主题3.2.程序源码3.3.创建仪表板3.4.边缘分配仪表板3.5.测试 4.客户端RPC4.1.RPC消息主题4.2.程序源码4.3.规则链4.4.测试 Th…

Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)

1,谷歌浏览器默认位置 2&#xff0c;ChromeDriverManager 下载的驱动位置 其中admin为机器的用户名 def installDriver(self):"""判断是否需要下载driver""""""找到本机谷歌浏览器版本""""""C:\P…

软考81-上午题-【面向对象技术3-设计模式】-行为型设计模式01

一、行为型设计模式一览 二、责任链模式 2-1、意图 使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;直到有一个对象处理它为止。 1-2、结构 1-3、代码实现 1-4、适…

Kubectl常用命令

管理资源&#xff08;查看、创建、更新、删除&#xff09; 查看node资源 kubectl get nodes查看命名空间 kubectl get ns查看service资源 -n 指明所属的命名空间&#xff0c;不写默认看命名空间为default下的所有service kubectl get svc -n default查看pod资源 -n 指明所…

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

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

网络安全实训Day5

写在前面 昨天忘更新了......讲的内容不多&#xff0c;就一个NAT。 之前记的NAT的内容&#xff1a;blog.csdn.net/Yisitelz/article/details/131840119 网络安全实训-网络工程 NAT 公网地址与私网地址 公网地址 可以在互联网上被寻址&#xff0c;由运营商统一分配全球唯一的I…

Coursera上Golang专项课程2:Functions, Methods, and Interfaces in Go 学习笔记

Functions, Methods, and Interfaces in Go Course Certificate 本文是学习 Functions, Methods, and Interfaces in Go 这门课的学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 文章目录 Functions, Methods, and Interfaces in GoMODULE 1: FUNCTIONS AND ORGANIZ…

云原生部署手册02:将本地应用部署至k8s集群

&#xff08;一&#xff09;部署集群镜像仓库 1. 集群配置 首先看一下集群配置&#xff1a; (base) ➜ ~ multipass ls Name State IPv4 Image master Running 192.168.64.5 Ubuntu 22.04 LTS1…

多进程数据库不适合作为hive的元数据库

简介 “今天发现一个比较奇怪的现象&#xff0c;因为博主不熟悉mysql&#xff0c;所以在安装hive的使用了postgresql作为hive的元数据库&#xff0c;在测试几个连接工具对hive进行链接&#xff0c;后面再测试的时候发现链接不上了&#xff0c;并且报错日志如下&#xff1a;” …

利用生成式人工智能进行功能管理测试

就 DevOps 而言&#xff0c;生成式 AI与功能管理测试的新兴集成标志着一次重大演变。我们将认真研究这项技术如何彻底改变我们创建测试环境的方式。 使用人工智能生成测试使我们能够模拟大量的用户场景和环境&#xff0c;这意味着我们可以开发和部署不仅好而且很棒的功能&…

django实现api接口

&#xff08;前期准备&#xff09;第一步&#xff1a;虚拟环境 在windows上使用virtualenvwrapper。 pip install virtualenvwrapper-win 接着&#xff0c;添加环境变量。 echo %WORKON_HOME% 接下来就是创建虚拟环境&#xff0c;假如创建myenv mkvirtualenv myenv 进入…

线程的基本使用

线程 使用线程方法 继承Thread类&#xff0c;重写run方法实现Runnable接口&#xff0c;重写run方法 继承Thread vs 实现Runnable的区别 从java的设计来看&#xff0c;通过继承Thread或者实现Runnable接口来创建线程本质上没有区别,从jdk帮助文档可以看到Thread类本身就实现…

如何在不带备份的情况下恢复 Android 手机照片?

你的 Android 手机出了什么问题&#xff1f; Android 手机上的垃圾文件过多。 您的 Android 手机屏幕黑屏。 您的手机蓝屏死机。 您的设备卡在启动屏幕上。 电话停止工作。 手机一直关机。 ... 您是否遇到过以上情况并将您的 Android 手机恢复出厂设置&#xff1f;如果是这样&…

最后的挣扎 - Qt For Android on HuaWei Mate 60Pro (v4.0.0)

简介 为什么叫最后的挣扎, 其实都知道即将到来的 HarmonyOS NEXT 将抛弃Android支持&#xff0c;纯血HarmonyOS 将上线&#xff0c; 此时再说Qt for android支持Huawei HarmonyOS的设备其实并没有多少意思&#xff0c; 但恐怕在大多数基础软件完成兼容前&#xff0c; 很多人还是…