Python 数据类型 - 元组
off999 2024-11-27 18:43 66 浏览 0 评论
在本节中,我们将介绍如何创建和使用另外一种 Python 数据类型-元组。Python 元组类似于
Python 列表
,不同之处在于元组是不可变的,但列表是可变的。
Python 元组相对于列表的优点
- 元素数据类型不同时主要使用元组,而当元素具有相同的数据类型时使用列表。
- 通过元组遍历更快,因为你无法更新元组。
- 你可以使用元组的不可变元素作为 Python 字典中的一个键值。列表不能作为 Python 字典中的一个键值。
- 元组保证了对数据的保护,因为它们是不可变的。
创建一个元组
你可以使用括号 () 定义 Python 元组,并用逗号 , 来分隔元素。元组可以具有任何数据类型的元素。
>>> x = (3, 'pink', 3+8j)
>>> print('x[0] =', x[0])
x[0] = 3
>>> print('x[0:2] =', x[0:2])
x[0:2] = (3, 'pink')
>>> x[0] = 4
TypeError: 'tuple' object does not support item assignment
如果元组只包含一个元素,比如说是字符串,则该元组不会被视为元组,而是将其视为字符串。举例来说明:
>>> x = ("Python")
>>> print(type(x))
<class 'str'>
你可以在这里看到 x 的数据类型是 str 而不是 tuple 。为了使它能成为一个元组,你可以在其后面添加一个逗号。
>>> x = ("Python",)
>>> print(type(x))
<class 'tuple'>
访问元组元素
元组的元素可以通过以下任何方式访问:
索引
索引操作符 [] 可以用来访问元组的元素。元组的索引从 0 开始。如果索引不在范围内(元素未在元组中的索引处定义),则会出现 IndexError 。在这里应该指出,索引必须是一个整数,否则会出现 TypeError
>>> x = (3, 'pink', 3+8j)
>>> print(x[0])
3
>>> print(x[2])
(3+8j)
负索引 Negative Index
同 Python 列表一样,你可以使用负索引来访问元组元素。
>>> l = (2, 4, 6, 8, 10)
>>> print(l[-1])
10
>>> print(l[-2])
8
>>> print(l[-3])
6
切片
切片运算符 : 用于从元组中提取一系列元素。
>>> l = (2, 4, 6, 8, 10)
>>> print(l[1:3]) # 打印从位置 1 到位置 3(不含 3)的元素
(4, 6)
>>> print(l[:2]) # 打印从开始到位置 2(不含 2)的元素
(2, 4)
>>> print(l[2:]) # 打印从位置 2(包含 2)开始的元素
(6, 8, 10)
>>> print(l[:]) # 打印整个列表
(2, 4, 6, 8, 10)
拼接元组
两个元组可以同过
+ 操作符
拼接起来。
>>> l = (2, 4, 6, 8, 10)
>>> print(l + (12, 14, 16)
(2, 4, 6, 8, 10, 12, 14, 16)
删除元组
元组元素不可删除,因为元组是不可变的。但是你可以使用
del 关键字
来删除整个元组。
l = (2, 4, 6, 8, 10)
del l
Python 元组方法
元组只有两个方法,因为元组是不可变的数据类型:
Python 元组方法 | 描述 |
count(a) | 范围元组中元素 a 的数量 |
index(a) | 返回元组中第一个匹配元素 a 的索引 |
适用于元组的内置函数
以下列表中的内置函数适用于元组数据类型。
函数 | 描述 |
all() | 当元组中的所有元素都为 True 时返回 True。当元组为空时,它也返回 True |
any() | 当元组中的任何元素为 True 时返回 True 。当元组为空时,它返回 False |
enumerate() | 将元组的所有元素的索引和值作为元组返回。它返回一个 枚举 对象 |
len() | 返回元组中元素的数量或元组的长度 |
tuple() | 将序列(元组,字符串,字典)转换为元组 |
max() | 返回元组中的最大数字 |
min() | 返回元组中的最小数字 |
sorted() | 返回一个排序元组 |
sum() | 返回元组中所有元素的总和 |
Python 元组成员检查
Python
in 关键字
用来检查给定元素是否是元组的成员。
>>> l = (2, 4, 6, 8, 10)
>>> print(5 in l)
False
>>> print(2 in l
True
Python 元组遍历
你可以使用 for 循环来遍历一个元组。
l = (2, 4, 6, 8, 10)
for i in l:
print(i)
2
4
6
8
10
相关推荐
-
- 安全浏览器免费下载(安全刘览器下载)
-
1、打开运行qq浏览器。 2、点击右上方菜单按钮,在弹出的菜单中点击“qq浏览器设置”。? 3、进入“安全与隐私”类目,然后勾选“开启安全网址认证”确定即可。?1.首先打开浏览器,点击左上角的三个点。2.然后在弹出的页面点击“设置”选项...
-
2026-01-08 04:03 off999
- bios无法设置u盘启动(bios无法设置legacy)
-
需要准备的工具:电脑,Bios设置界面。1、以戴尔电脑为例,直接按启动快捷键F12进入启动菜单选择u盘即可,进入BIOS设置。2、进入BIOS设置之后。找到”USBStorageLegacySuppo...
- 电脑重装win7系统后怎么设置
-
1.首先在win7桌面空白处,点击右键弹出菜单,选择个性化。2.调出个性化设置窗口后,我们切换至开始选项卡,然后点击右侧下方的“选择哪些文件夹显示在开始屏幕上”。3.此时一般正常情况下,可以看到设置选...
- 简单常用的dos命令(常见dos命令总结)
-
一些常用的DOS命令包括:1.dir:列出当前目录中的文件和子目录。2.cd:更改当前目录。3.md:创建一个新的目录。4.rd:删除一个目录。5.copy:将文件从一个位置复制到另一个位置...
- 421事件全文免费阅读(421事件文档全文免费阅读)
-
对于421事件的真实性,目前没有确凿的官方消息。关于421事件的真实性,有以下几种观点:1.有人认为421事件总体上是真实的,认为其中的污秽和混乱超过了大多数人的认知,涉及到的封建迷信内容对于一些人...
- 英伟达所有显卡型号(英伟达显卡型号含义)
-
amdcpu搭配英伟达的显卡,显卡性能不会受到影响的。性能不会受到影响,AMD说配三A平台稳定性最强,而且恢复自动超频一点点,制其实那只是AMD的广告而已,没那回事,AMDCPU配英伟达的显卡也没...
- windows无法连接到这个网络(windows无法连接到这个网络 笔记本)
-
有可能是因为无线网络的密码变了,也有可能是系统自身的问题,解决方法:1、右键计算机图标。2、点开服务和应用程序,然后点击下面的服务。3、打开服务后找到WLANAutoConfig无线网络服务。4、W...
- 电脑装机平台(电脑装机城)
-
网上装机京东比较靠谱。要想在网上组装一台靠谱的电脑,真的需要一双慧眼。笔者认为相对靠谱的还是某东自营店,某宝甚至某猫都是满地坑。如果某东也看不上的话,其实到线下实体店购买也是不错的选择,现在线上线下价...
- u盘突然识别不了怎么解决(u盘总是识别不出来)
-
当出现U盘无法读取的情况时,需要分情况解决。情景一:由于驱动问题导致无法读取U盘1、插上U盘,右击我的电脑--管理--设备管理器,展开通用串行总线控制器。找到USBMassStorageDevi...
- 台式电脑重装系统视频(戴尔台式电脑重装系统重启后无法进入引导)
-
电脑在重装系统后看视频卡,原因如下: 1、没安装好显卡驱动。这个可能性极大。 2、没安装好播放器。 3、没安装好硬盘驱动,导致硬盘的速度极低,无法正常提供视频码率。如果没有分区,只是在C盘...
- 正版win7系统镜像下载官网(win7之家 官方镜像)
-
1、去微软官方网站下载。2、去系统之家下载,我自己的win10就是从哪里下载安装的,你可以试试哈。ghost镜像的使用一、备份主分区--C盘:假设你的操作系统安装在主分区--C盘,当系统重装不久,或...
- win7文件类型怎么更改(win7文件类型怎么更改不了)
-
重建文件关联,右击word文件,选择打开方式,选择word后同时选中下方的“始终用此程序打开”,如果不行的话可能就是文件关联的图标失效了,也就是文件关联是正常的,但是找不到图标,win7的话可以用wi...
- 下载设置功能到手机桌面(设置下载安装到手机桌面)
-
华为手机怎么安装下载内容?1.打开华为应用市场后点击上方的“管理”。2.再点击进入“安装管理”。3.在下载好但没有桌面图标的APP那里点击“∨”处,再点“管理”就能查看到此应用的应用信息。4.选择其...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
