Python基础(六)之数值类型元组
Python基础(六)之数值类型元组

1、简介
元组: 在Python中是内置的数据结构之一,是一个不可变的序列,切可以是任何类型数据。元组的元素放在()小括号内。一般我们希望数据不改变的时候使用
不可变与可变的区别:
- 不可变序列:字符串、元组(没有增删改操作)
- 可变序列: 列表、字典(可以对序列执行增删改操作,对象的地址不发生变化)
2、 创建元组
2.1、直接创建
格式: 元组名称 = (元素1, 元素2, 元素3) 或者 元组名称 = 元素1, 元素2, 元素3
空原则: 元组名称 = () 或者 元组名称 = tuple()
特殊的元组: 元组名称 = (元素1, )
s_tuple = (1, 2, 3, 4, 5)
print('s_tuple数据类型:', type(s_tuple))
print('s_tuple数据:', s_tuple)
s_tuple2 = 1, 2, 3, 4, 5
print('s_tuple2数据类型:', type(s_tuple2))
print('s_tuple2数据:', s_tuple2)'''s_tuple数据类型: <class 'tuple'>
s_tuple数据: (1, 2, 3, 4, 5)
s_tuple2数据类型: <class 'tuple'>
s_tuple2数据: (1, 2, 3, 4, 5)
'''
2.2、使用内置函数tuple()
s_tuple = tuple(('P', 'y', 't', 'h', 'o', 'n'))
print('s_tuple数据类型:', type(s_tuple))
print('s_tuple数据:', s_tuple)'''
s_tuple数据类型: <class 'tuple'>
s_tuple数据: ('P', 'y', 't', 'h', 'o', 'n')
'''
2.3、 将迭代系列转化为元组
s = "Python"
s_list = list(s)
s_tuple = tuple(s)
print(s_tuple) # ('P', 'y', 't', 'h', 'o', 'n')
s_list_to_tuple = tuple(s_list)
print(s_list_to_tuple) # ('P', 'y', 't', 'h', 'o', 'n')
【注】
- 只包含一个元素的元组需要使用逗号和小括号来表示
- 若没有添加逗号,Python会默认括号本身内数据本身的数据类型
s_tuple = ('str')
print('错误的元组创建方式:', type(s_tuple))# 错误的元组创建方式: <class 'str'>s_tuple = ('str',)
print('正确的元组创建方式:', type(s_tuple))
# 正确的元组创建方式: <class 'tuple'>
3、遍历元组
在Python 中使用for循环遍历元组的元素
s_tuple = (1, 2, 3, 4, 5)
for el in s_tuple:print(el)'''
1
2
3
4
5
'''s_tuple_empty = ()
for el in s_tuple_empty:print(el)
4、 元组解包
将元组tuple中的元素赋值给变量
s_tuple = ('P', 'y', 't', 'h', 'o', 'n')
a, b, c, d, e, f = s_tuple
print('a =', a)
print('b =', b)
print('c =', c)
print('d =', d)
print('e =', e)
print('f =', f)
'''
a = P
b = y
c = t
d = h
e = o
f = n
'''s_tuple = ('P', 'y', 't', 'h', 'o', 'n')
a, b, c, d, e, f, *g = s_tuple
print('a =', a)
print('b =', b)
print('c =', c)
print('d =', d)
print('e =', e)
print('f =', f)
print('g =', g)
'''
a = P
b = y
c = t
d = h
e = o
f = n
g = []
'''s_tuple = ('P', 'y', 't', 'h', 'o', 'n')
*a, b, c= s_tuple
print('a =', a)
print('b =', b)
print('c =', c)
'''
a = P
b = ['y', 't', 'h', 'o']
c = n
'''
【注】
- 元组解包的时候前面的变量数量必须与元组的元素数量一致。
- 若变量的数量与元组中元素的数量不一致时,则在某个变量的前面加一个* ,这样会将多余的变量以列表的格式转化到该变量中
5、 检查元素是否在元组中
使用 in 或者 not in
s_tuple = ('P', 'y', 't', 'h', 'o', 'n')
print('Hello' in s_tuple) # False
print('Hello' not in s_tuple) # True
print('t' in s_tuple) # True
print('t' not in s_tuple) # False
6、 查询元组
元组没有增删改操作,但可以进行查询
6.1 index() 从元组中找出某个值第一个匹配项的索引
s_tuple = ('P', 'y', 't', 'h', 'o', 'n')
print(s_tuple.index('P')) # 0
print(s_tuple.index('hello')) # 报出错误 ValueError: tuple.index(x): x not in tuple
6.2、count() 统计元组中某个元素出现的次数
s_tuple = ('H', 'e', 'l', 'l', 'o')
print(s_tuple.count('l')) # 2
print(s_tuple.count('h')) # 0
7、 删除元组
元组虽然不能新增和修改、且删除单独的元素,但可以将元组整体全部删除
s_tuple = ('H', 'e', 'l', 'l', 'o')
del s_tuple
print(s_tuple) # NameError: name 's_tuple' is not defined. Did you mean: 'tuple'?
8、 其他操作
8.1、 获取元组的长度
s_tuple = ('H', 'e', 'l', 'l', 'o')
print(len(s_tuple)) # 5
8.2、 获取元组的最大值或最小值
s_tuple = ('H', 'e', 'l', 'l', 'o')
print(max(s_tuple)) # o
print(min(s_tuple)) # H
9、 元组与列表对比
-
列表是可变的,创建完成后,可以对列表进行增删改查操作。
-
元组是不可变的,创建完成后,其内容和大小均不可发生改变
-
元组虽然不可变,但可以可以将两个元组合并成一个新的元组,切不需要为新原则分配额外的空间
s_tuple1 = ('P', 'y', 't') s_tuple2 = ('h', 'o', 'n') print(s_tuple1 + s_tuple2) # ('P', 'y', 't', 'h', 'o', 'n')
相关文章:
Python基础(六)之数值类型元组
Python基础(六)之数值类型元组 1、简介 元组: 在Python中是内置的数据结构之一,是一个不可变的序列,切可以是任何类型数据。元组的元素放在()小括号内。一般我们希望数据不改变的时候使用 不可变与可变的…...
Chrome历史版本下载地址:Google Chrome Older Versions Download (Windows, Linux Mac)
最近升级到最新版本Chrome后发现页面居然显示错乱,是在无语, 打算退回原来的版本, 又发现官方只提供最新的版本下载, 为了解决这个问题所有收集了Chrome历史版本的下载地址分享给大家. Google Chrome Windows version 32-bit VersionSizeDate104.0.5112.10279.68 MB2022-05-30…...
ROS2纯跟踪实现(C++)
#include <tf2_ros/buffer.h> #include <tf2_ros/transform_broadcaster.h> #include <tf2_ros/transform_listener.h>#include <geometry_msgs/msg/transform_stamped.hpp> #include...
uniapp微信小程序随机生成canvas-id报错?
uniapp微信小程序随机生成canvas-id报错? 文章目录 uniapp微信小程序随机生成canvas-id报错?效果图遇到问题解决 场景: 子组件,在 mounted 绘制 canvas;App、H5端正常显示,微信小程序报错; 效…...
爬虫 Day2
resp.close()#关掉resp 一requests入门 (一) 用到的网页:豆瓣电影分类排行榜 - 喜剧片 import requestsurl "https://movie.douban.com/j/chart/top_list" #参数太长,重新封装参数 param {"type": "…...
达梦数据库SQL
达梦JSON函数技术文档 SQL中关键词处理 -- 必须要使用双引号包裹 select id,"comment" from t_cmp_rd_process;select id,"commit" from t_cmp_rd_gjj_eva;JSON_EXTRACT函数 -- party_sup_other_json 是包含JSON数据的列名。 -- $.content_abstract 是J…...
python教程——把视频转成gif
一、前言 很多网站提供视频转GIF的功能,但要么收费要么有广告,实际上可以通过python,几行代码就能够实现视频转gif。 二、使用方法 1安装必备库moviepy pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple 2. 写入代码 …...
深入浅出Go的`encoding/xml`库:实战开发指南
深入浅出Go的encoding/xml库:实战开发指南 引言基本概念XML简介Go语言中的XML处理结构体标签(Struct Tags) 解析XML数据使用xml.Unmarshal解析XML结构体标签详解处理常见解析问题 生成XML数据使用xml.Marshal生成XML使用xml.MarshalIndent优化…...
深度学习之扩散模型(Diffusion model)
代码解析:正向扩散过程和加噪演示 引言 这段代码实现了一个正向扩散过程和加噪演示的功能。通过生成一个特定形状的数据集,并在每个时间步长上应用正向扩散过程和加噪过程,最终展示了数据点在空间中的演变过程。 数据集生成 通过 make_swiss…...
Tomcat Session ID---会话保持
简单拓补图 一、负载均衡、反向代理 7-1nginx代理服务器配置 [rootdlnginx ~]#yum install epel-release.noarch -y ###安装额外源[rootdlnginx ~]#yum install nginx -y[rootdlnginx ~]#systemctl start nginx.service[rootdlnginx ~]#systemctl status nginx.service [ro…...
Session会话绑定
1.需求原因 用户的请求,登录的请求,经过负载均衡后落到后面的web服务器上,登录的状态/信息也会记录在web服务器上,就会导致不通的web服务器上,登录状态不统一,造成用户频繁需要登录 2.目标:如何实现会话保持/会话共享 方案一:登录状态写入cookie中.(wor…...
win7、win10、win11 系统能安装的.net framework 版本以
win7、win10、win11 系统能安装的.net framework 版本分别是多少?以及能安装的最高版本是多少? 以下是各Windows系统能够安装和支持的.NET Framework版本及其最高可安装版本的概述: Windows 7: 自带 .NET Framework 3.5.1&#x…...
RediSearch比Es搜索还快的搜索引擎
1、介绍 RediSearch是一个Redis模块,为Redis提供查询、二次索引和全文搜索。要使用RediSearch,首先要在Redis数据上声明索引。然后可以使用重新搜索查询语言来查询该数据。RedSearch使用压缩的反向索引进行快速索引,占用内存少。RedSearch索…...
mybatis-plus 的saveBatch性能分析
Mybatis-Plus 的批量保存saveBatch 性能分析 目录 Mybatis-Plus 的批量保存saveBatch 性能分析背景批量保存的使用方案循环插入使用PreparedStatement 预编译优点:缺点: Mybatis-Plus 的saveBatchMybatis-Plus实现真正的批量插入自定义sql注入器定义通用…...
python异常:pythonIOError异常python打开文件异常
1.python读取不存在的文件时,抛出异常 通过 open()方法以读“r”的方式打开一个 abc.txt 的文件(该文件不存在),执行 open()打开一个不存在的文件时会抛 IOError 异常,通过 Python 所提供的 try...except...语句来接收…...
电话机器人语音识别用哪家更好精准度更高。
语音识别系统的选择取决于你的具体需求,包括但不限于识别精度、速度、易用性、价格等因素。以下是一些在语音识别领域表现较好的公司和产品: 科大讯飞:科大讯飞是中国最大的语音识别技术提供商之一,其语音识别技术被广泛应用于各…...
【Unity动画】Unity如何导入序列帧动画(GIF)
Unity 不支持GIF动画的直接播放,我们需要使用序列帧的方式 01准备好序列帧 02全部拖到Unity 仓库文件夹中 03全选修改成精灵模式Sprite 2D ,根据需要修改尺寸,点击Apply 04 创建一个空物体 拖动序列上去 然后全选所有序列帧,拖到这个空物体…...
uniapp APP 上传文件
/*** 上传文件*/uploadPhoneFile:function(callback,params {}) {let fileType [.pdf,.doc,.xlsx,.docx,.xls]// #ifdef APP-PLUSplus.io.chooseFile({title: 选择文件, filetypes: [doc, docx], // 允许的文件类型 multiple: false, // 是否允许多选 },(e)>{const tem…...
arcgis数据导出到excel
将arcgis属性数据导出到excel: 1) 工具箱\系统工具箱\Conversion Tools.tbx\Excel\Excel 转表 2)用excel打开导出的图层文件中后缀为.dbf的数据(方便快捷,但是中文易乱码)...
吴恩达深度学习环境本地化构建wsl+docker+tensorflow+cuda
Tensorflow2 on wsl using cuda 动机环境选择安装步骤1. WSL安装2. docker安装2.1 配置Docker Desktop2.2 WSL上的docker使用2.3 Docker Destop的登陆2.4 测试一下 3. 在WSL上安装CUDA3.1 Software list needed3.2 [CUDA Support for WSL 2](https://docs.nvidia.com/cuda/wsl-…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
针对药品仓库的效期管理问题,如何利用WMS系统“破局”
案例: 某医药分销企业,主要经营各类药品的批发与零售。由于药品的特殊性,效期管理至关重要,但该企业一直面临效期问题的困扰。在未使用WMS系统之前,其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
