08 元组和集合

目录

一、元组(tuple)

1. 什么是元组

2. 查操作

3. 函数和方法

二、集合(set)

1. 什么是集合

2. 数学集合运算


一、元组(tuple)

1. 什么是元组

元组是容器型数据类型,将( )作为容器的标志,里面多个元素用逗号隔开:
(数据1, 数据2, 数据3, ...)

元组是不可变的;元组是有序

元组的元素可以是任何类型的数据

t1 = (10, 20, 30)
print(t1)# 空元组
t1 = ()
print(t1)# 只有一个元素的元组: 唯一的元素后面必须有逗号
t1 = (100,)
print(t1, type(t1), len(t1))# 在没有歧义的情况下,元组的()可以省略
t1 = 10, 20, 30
print(t1)

2. 查操作

1)列表获取元素的所有操作元组都支持(取单个、切片、遍历)

days = (31, 28, 89, 8, 90, 27, 78)
print(days[0], days[-1])
print(days[1:-1])

2)多变量数据查询(列表和元组都支持) 

① 让变量的个数和列表/元组中元素的个数保持一致,让变量依次获取到每个元素

t1 = (10, 20, 30)
x, y, z = t1
print(x, y, z)point = (10, 98)
x, y = point
print(x, y)

②  让变量个数小于列表/元组中元素的个数,并且在其中任意一个变量的前面加 ‘ 

获取元素的是先让没有*的变量按照位置关系获取元素,剩下的全部保存到带*的变量中(带*号的变量中保存的是连续的元素,并且返回的不是元组而是列表

stu = ('小明', '男', 90, 78, 67)
name, gender, *scores = stu
print(name, gender, scores) #小明 男 [90, 78, 67]t1 = (10, 20, 30, 90, 78)
*x, y, z = t1
print(x, y, z)  # [10, 20, 30] 90 78t1 = (10, 20, 30, 90, 78)
x, *y, z = t1
print(x, y, z)  # 10 [20, 30, 90] 78

3. 函数和方法

 列表中所有和增删改无关的操作的操作、函数和方法元组都支持

具体可参考列表那篇文章

print(10 in t1)
print(t1 + (100, 200))
print(t1 * 3)
print((10, 30, 1) > t1)
print(sum(t1))
print(max(t1))
print(sorted(t1))
print(t1.count(10))
print(t1.index(20))

二、集合(set)

1. 什么是集合

集合是容器型数据类型,将{ }作为容器的标志,里面多个元素用逗号隔开:
{数据1, 数据2, 数据3, ...}

集合是可变的;集合是无序

集合的元素必须是不可变的类型的数据,并且是唯一的(集合自带去重的功能)

s1 = {1, 23, 45, 6}
print(s1)   # {1, 45, 6, 23}print({10, 20, 30} == {30, 10, 20})     # Trues1 = {'abc', 10, 2.3, (1, 23)}
print(s1)   # {'abc', (1, 23), 10, 2.3}s1 = {10, 20, 30, 10, 20, 10, 10, 10}
print(s1)       # {10, 20, 30}names = ['小明', '小明', '张三', '李四', '小明', '李四']
print(set(names))   # {'李四', '小明', '张三'}

2. 数学集合运算

&(交集)、|(并集)、-(差集)、^(对称差集)、>/<(判断真子集关系)、>=/<=(判断子集关系)

# python中的集合支持数学集合运算
s1 = {1, 2, 3, 4, 5, 6}
s2 = {4, 5, 6, 7, 8, 9, 10}# 1) 交集  - 求两个集合的公共部分
print(s1 & s2)  # {4, 5, 6}# 2) 并集  - 求两个集合合并后的结果
print(s1 | s2)  # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}# 3) 差集
print(s1 - s2)  # {1, 2, 3}
print(s2 - s1)  # {8, 9, 10, 7}# 4) 对称差集
print(s1 ^ s2)  # {1, 2, 3, 7, 8, 9, 10}# 5)子集和真子集
s1 = {1, 2, 3}
# s1的子集:{}、{1}、{2}、{3}、{1, 2}、{2, 3}、{1, 3}、{1, 2, 3}
# s1的真子集:{}、{1}、{2}、{3}、{1, 2}、{2, 3}、{1, 3}
# 集合1 > 集合2  -  判断集合2是否是集合1的真子集
# 集合1 < 集合2  -  判断集合1是否是集合2的真子集
print({100, 200, 300, 400} > s1)    # False
print({1, 10, 3, 2, 20} > s1)   # True

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

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

相关文章

java-冒泡排序 3

### 15. 综合示例 为了全面展示冒泡排序的各种实现和优化&#xff0c;我们可以编写一个综合示例&#xff0c;包含基本冒泡排序、优化版冒泡排序和鸡尾酒排序。 java public class ComprehensiveBubbleSort { // 基本冒泡排序 public static void basicBubbleSort(int[] a…

考研数学(3/9):一元函数积分学

目录 一元函数积分学 1. 不定积分 1.1 不定积分的定义 1.2 不定积分的性质 1.3 不定积分的计算方法 2. 定积分 2.1 定积分的定义 2.2 定积分的性质 2.3 定积分的计算方法 3. 定积分的应用 3.1 求平面图形的面积 3.2 求旋转体的体积 3.3 求曲线的弧长 3.4 求曲面的…

【数据建模】微分方程与动力系统

文章目录 微分方程与动力系统1. 微分方程的理论基础1.1 函数、导数与微分1.2 一阶线性微分方程的解1.3 二阶常系数线性微分方程的解 2. 使用python求解微分方程2.1 求解微分2.2 求解定积分2.2.1 quad函数求解2.2.2 梯型法则求解 3. 使用Scipy和Sympy解微分方程3.1 使用sympy求解…

MATLAB中findall用法

目录 语法 说明 示例 查找具有可见或隐藏句柄的图窗 查找句柄处于隐藏状态的对象 查找 Text 对象 提示 findall的功能是查找所有图形对象。 语法 h findall(objhandles) h findall(objhandles,prop1,value1,...,propN,valueN) 说明 h findall(objhandles) 返回 ob…

VUE JS 将html转成pdf 例子

在Vue.js中生成PDF文件&#xff0c;可以使用html2canvas和jspdf库。 安装依赖库 npm install html2canvas jspdf在Vue组件中使用 <template><div><button click"generatePDF">生成PDF</button></div> </template><script&…

ubuntu22.04 设置双屏

一 概述 最近把ubuntu18.04 升级到 22.04 双屏显示出来问题&#xff0c;在此记录下解决问题方案。二 解决方案 1 使用命令查看能检测到显示器 xrandr根据输出的信息&#xff0c;我们可以知道 HDMI-0 与 DP-0 是connected 。检测到两个显示器 2 设置输出显示器分辨率 由于我…

关于Vite+Vue+Ts WebStorm路径别名的问题

一、准备一个项目 二、在 vite.config.js 中添加 resolve: {alias: {: /src}} 三、tsconfig.app.json中添加代码 //添加代码"baseUrl": ".","paths": {"/*": ["src/*"]}把src的一个文件修改路径为开头 四、安装插件 npm i …

来给大家推荐得10个有效磁力导航链接(好用搜资料找资源)

都2024现在网上找资源像流水得鱼一样&#xff0c;抓一大把结果很难吃&#xff0c;我通宵特意整理的网站&#xff0c;网上有许多磁力导航网站可以提供海量的磁力链接资源&#xff0c;以下是一些有效的磁力导航网站推荐&#xff1a; 磁力搜索 网站地址&#xff1a;www.chiliso…

安装软件时出现风险警告——代码签名证书帮您解决(申请与优惠)

您开发的软件在用户下载安装时是否有以下弹窗提醒&#xff1f; 如何让用户信任软件并下载软件&#xff0c;是众多软件开发公司需要迫切去解决的问题&#xff0c;由此代码签名证书应运而生。 一 什么是代码签名证书 代码签名证书是一种提供给软件开发者&#xff0c;对其开发的…

上下文管理器在Python中的妙用

更多Python学习内容&#xff1a;ipengtao.com Python上下文管理器是一个非常强大的工具&#xff0c;它能够帮助开发者在特定代码块前后自动执行特定的操作&#xff0c;常用于资源管理&#xff0c;如文件操作、数据库连接和锁定等。本文将详细介绍Python上下文管理器的概念、使用…

【C++】final关键字 | 避免派生、重写

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

AWS云计算平台:全方位服务与实践案例

摘要 在数字化浪潮的推动下&#xff0c;云计算已成为企业转型的强大引擎。AWS作为云计算的先锋&#xff0c;不仅提供了一系列强大的基础设施服务&#xff0c;更是在人工智能领域不断探索和创新。本文将带您领略AWS的全方位服务&#xff0c;并透过实际案例&#xff0c;感受其在…

注解详解系列 - @ConditionalOnProperty:基于属性的条件配置

注解简介 在今天的注解详解系列中&#xff0c;我们将探讨ConditionalOnProperty注解。ConditionalOnProperty是Spring Boot提供的一个注解&#xff0c;用于基于配置属性的值来有条件地包含或排除Bean定义。通过ConditionalOnProperty注解&#xff0c;可以根据外部配置文件中的…

最新MDYS14源码影视视频网站模板/苹果CMS系统/附搭建教程

最新MDYS14源码影视视频网站模板/苹果CMS系统/附搭建教程 基本介绍&#xff1a; 1、后台增加自定义参数&#xff0c;对应会员升级页面&#xff0c;以及积分充值 2、视频&#xff0c;演员&#xff0c;专题&#xff0c;收藏&#xff0c;会员系统模块齐全&#xff0c;支持子分类…

发包真香之:scapy工具

scapy – python 可自由组包 参考学习&#xff1a;初识Scapy–Python的Scapy/Kamene模块学习之路 scapy 介绍 Scapy是基于Python语言的网络报文处理程序&#xff0c;它可以让用户发送、嗅探、解析、以及伪造网络报文&#xff0c;运用Scapy可以进行网路侦测、端口扫描、路由追…

已解决java.beans.IntrospectionException: 在Java Beans中内省过程失败的正确解决方法,亲测有效!!!

已解决java.beans.IntrospectionException: 在Java Beans中内省过程失败的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 解决思路 解决方法 检查命名规范 验证Getter/Setter匹配性 确认访问权限 审查类型一致性 简…

常见概念之压力测试

简介 压力测试(Stress Testing)通常包含以下几个主要内容: 负载测试(Load Testing) 模拟大量并发用户访问系统,测试系统在高负载下的表现。关注系统的响应时间、吞吐量、资源利用率等指标。确定系统的最大承载能力。 容量测试(Capacity Testing) 测试系统在超出正常预期负…

Android网络基础面试题之HTTPS的工作流程和原理

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 工作流程 HTTPS 默认工作在 TCP 协议443端口&#xff0c;它的工作流程一般如以下方式&#xff1a; 1、TCP 三次同步握手 2、客户端验证服务器…

SpringMVC 请求参数接收

目录 请求 传递单个参数 基本类型参数传递 未传递参数 传递参数类型不匹配 传递多个参数 传递对象 后端参数重命名 传递数组 传递集合 传递JSON数据 JSON是什么 JSON的优点 传递JSON对象 获取URL中的参数 文件上传 在浏览器与程序进行交互时&#xff0c;主要分为…

智能语音机器人代替辅助人工电销是发展的必然,语音识别

智能语音机器人电销是从2016年之后开始出现在电销市场上&#xff0c;并且迅速被众多电销企业所认可使用。那究竟什么是智能语音机器人呢!字面理解就是利用智能语音机器人去做人工电销员该做的工作&#xff0c;完成人工电销员需要完成的任务。事实上智能语音机器人也就是字面上理…