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,一经查实,立即删除!

相关文章

考研数学(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…

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;感受其在…

最新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匹配性 确认访问权限 审查类型一致性 简…

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

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

SpringMVC 请求参数接收

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

字节豆包 MarsCode:AI 开发工具

MarsCode 是豆包旗下的智能编程助手&#xff0c;类似 GitHub Copilot 提供以智能代码补全为代表的核心能力&#xff0c;简单试用了下&#xff0c;免费&#xff0c;使用时需要手机号登录&#xff0c;代码补全还算 ok&#xff0c;聊天功能就有点差了。 还包括一个 AI 原生 IDE&am…

UNIAPP编译到微信小程序时,会多一层以组件命名的标签

UNIAPP编译到微信小程序时&#xff0c;会多一层以组件命名的标签 解决方案 可以配置virtualHost来配置 export default {options: {virtualHost: true} }

pygraphviz安装教程

踩了无数坑之后&#xff0c;终于把pygraphviz安装好了。 首先先说明我的配置情况&#xff0c;我是在pycharm里面使用anaconda的虚拟环境运行项目。要安装pygraphviz得先满足三个前置条件&#xff1a; &#xff08;1&#xff09;已安装python(version 3.10, 3.11, or 3.12) &…

DockerDesktop中mysql容器无法使用Exec窗口解决

解决前 需要登陆&#xff1a; 登陆后需要升级才能启动调试模式 需要订阅才能使用 解决后&#xff1a; 正常使用 解决方法&#xff1a; 不要在DockerDesktop中启动mysql容器&#xff0c;使用命令行启动 启动命令 docker run --name mysql_docker -e MYSQL_ROOT_PASSWORD12345…

怎么新建百度词条

新建百度词条是一个分步骤的过程&#xff0c;需要遵循一定的规则和流程。以下是百科参考网shaoshai整理详细的步骤&#xff1a; 点击输入图片描述&#xff08;最多30字&#xff09; 怎么新建百度词条 1. 注册百度账号 在创建百度词条之前&#xff0c;您需要先注册一个百度账号…