Python 元组完全指南 1

2023-12-21

元组用于在单个变量中存储多个项目。

mytuple = ("apple", "banana", "cherry")

元组是 Python 中的 4 种内置数据类型之一,用于存储数据集合,另外还有列表、集合和字典,它们都具有不同的特性和用途。元组是有序且不可更改的集合。元组使用圆括号表示。

示例,创建一个元组:

thistuple = ("apple", "banana", "cherry")
print(thistuple)

元组项是有序的、不可更改的,允许重复值。元组项是有索引的,第一个项索引为 [0],第二个项索引为 [1],依此类推。

有序,当我们说元组是有序时,意味着项具有明确定义的顺序,该顺序不会改变。

不可更改,元组是不可更改的,这意味着在创建元组后,我们不能更改、添加或删除项。

允许重复,由于元组是有索引的,它们可以包含具有相同值的项:

示例,元组允许重复值:

thistuple = ("apple", "banana", "cherry", "apple", "cherry")
print(thistuple)

要确定元组有多少项,使用 len() 函数:

示例,打印元组中的项数:

thistuple = ("apple", "banana", "cherry")
print(len(thistuple))

要创建一个只包含一个项目的元组,必须在该项目后添加逗号,否则 Python 将不会将其识别为元组。

示例,一个项目元组,请记住逗号:

thistuple = ("apple",)
print(type(thistuple))

# 不是元组
thistuple = ("apple")
print(type(thistuple))

元组项可以是任何数据类型:

示例,字符串、整数和布尔数据类型:

tuple1 = ("apple", "banana", "cherry")
tuple2 = (1, 5, 7, 9, 3)
tuple3 = (True, False, False)

一个元组可以包含不同的数据类型:

示例,包含字符串、整数和布尔值的元组:

tuple1 = ("abc", 34, True, 40, "male")
type()
从 Python 的角度来看,元组被定义为具有数据类型 'tuple' 的对象:

```python
<class 'tuple'>

示例,元组的数据类型是什么?

mytuple = ("apple", "banana", "cherry")
print(type(mytuple))

还可以使用 tuple() 构造函数来创建元组。

示例,使用 tuple() 方法创建元组:

thistuple = tuple(("apple", "banana", "cherry")) # 注意双重圆括号
print(thistuple)

Python 编程语言中有四种集合数据类型:

  • 列表(List)是有序且可更改的集合。允许重复成员。
  • 元组(Tuple)是有序且不可更改的集合。允许重复成员。
  • 集合(Set)是无序、不可更改和无索引的集合。不允许重复成员。
  • 字典(Dictionary)是有序且可更改的集合。不允许重复成员。

访问元组项,您可以通过在方括号内引用索引号来访问元组项:

示例,打印元组中的第二个项:

thistuple = ("apple", "banana", "cherry")
print(thistuple[1])

注意:第一个项的索引为0。负索引意味着从末尾开始。-1 表示最后一项,-2 表示倒数第二项,依此类推。
示例,打印元组的最后一项:

thistuple = ("apple", "banana", "cherry")
print(thistuple[-1])

您可以通过指定范围的起始位置和结束位置来指定一系列索引。在指定范围时,返回值将是一个包含指定项的新元组。
示例,返回第三、第四和第五项:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:5])

注意:搜索将从索引2(包括在内)开始,并在索引5(不包括在内)结束。请记住,第一个项的索引为0。如果省略起始值,则范围将从第一项开始:
示例,此示例返回从开头到“kiwi”之前(但不包括)的项:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[:4])

如果省略结束值,范围将一直到列表的末尾:
示例,此示例返回从“cherry”到末尾的项:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:])

如果要从元组末尾开始搜索,请指定负索引:
示例,此示例返回从索引-4(包括在内)到索引-1(不包括在内)的项

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[-4:-1])

要确定元组中是否存在指定的项,请使用 in 关键字:
示例,检查元组中是否存在“apple”:

thistuple = ("apple", "banana", "cherry")
if "apple" in thistuple:
  print("Yes, 'apple' is in the fruits tuple")

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索: Let us Coding ,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 元组完全指南 1 的相关文章

随机推荐

  • Laravel ::提取多列

    我需要填充刀片格式
  • Mac(计算机)给 Rails 开发人员带来什么优势? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • BlockingQueue 和 TransferQueue 的区别

    我对 BlockingQueue LinkedBlockingQueue 与 jsr166y 和 java 7 中的新 TransferQueue LinkedTransferQueue 类型之间的区别有点困惑 From TransferQ
  • 使用java中的itext库为合并的pdf创建索引文件(TOC)

    我正在使用 iText 创建一个通过使用 PDFCopy 合并多个 PDF 来生成单个 PDF 我需要创建一个TOC 不是书签 位于本文档的开头 其中包含指向每个源 PDF 第一页的可单击链接 合并pdf的代码 Document PDFJo
  • 将日期名称转换为其整数表示形式

    在 SQL Server 中 您可以使用 DATENAME 函数以字符串形式获取星期几 declare date datetime set date 12 16 08 select datename dw date 返回 星期二 您可以使用
  • 无法从 watchOS 2 中的设置包获取值

    我有一个与手表应用程序一起使用的设置包 我正在将我的应用程序迁移到 watchOS 2 有谁知道设置捆绑包应该如何工作 iPhone 是否会将这些值传输到标准用户默认值或共享应用程序组的带有套件名称的用户默认值 我两者都无法工作 也找不到任
  • 最快的距离变换可用算法

    我正在寻找最快的距离变换可用算法 根据这个网站http homepages inf ed ac uk rbf HIPR2 distance htm http homepages inf ed ac uk rbf HIPR2 distance
  • Chrome扩展可以获取mac地址吗?

    我希望我的扩展能够将用户的物理 MAC 地址发送到服务器 Chrome 扩展程序中是否有获取客户端 mac 地址的方法 如果有扩展 那是绝对不可能的 您可以获得的最接近的是 IP 地址和所有网络接口chrome 系统 网络 https de
  • 表格视图选择隐藏了表格视图单元格中的按钮

    还有一个同样逻辑的问题 选择单元格时 UITableViewCell 子视图消失 https stackoverflow com questions 6745919 uitableviewcell subview disappears wh
  • Gradle 14.4 无法构建 - Gradle DSL 方法未找到“packageName()”

    我正在使用 ProductFlavors 并尝试根据风味更改 packageName productFlavors flavor1 packageName com mypackagename one flavor2 packageName
  • 将文件上传到 azure blob 存储,然后使用文件的 base64 字符串发送 http 响应不起作用

    我正在尝试使用 azure blob 存储来实现以下目标 将文件上传到 Azure Blob 存储 然后发送包含文件的 base64 字符串的 http 响应 奇怪的是 我只能让一个工作 因为它会导致另一个根据我的代码顺序停止工作 Http
  • Spark java:使用给定模式创建新数据集

    我有这段代码在 scala 中运行良好 val schema StructType Array StructField field1 StringType true StructField field2 TimestampType true
  • 确定 ajax 调用是否由于响应不安全或连接被拒绝而失败

    我做了很多研究 但找不到处理这个问题的方法 我正在尝试从 https 服务器到使用自定义自签名证书运行 jetty 的 locahost https 服务器执行 jQuery ajax 调用 我的问题是我无法确定响应是连接被拒绝还是不安全响
  • Trix使用rails actiontext添加纯html

    我想使用rails6中的富文本编辑器trix 如何向 trix 添加一个按钮来添加 html 内容 要允许 ActionText 显示原始 HTML 请尝试此操作 顺便说一句 我不知道你为什么要添加一个按钮 你能详细解释一下吗
  • 网络基础介绍

    1 网线制作 1 1 网线制作需要的工具 网线 网线钳 水晶头 测试仪 编辑 1 2 网线的标准 1 3 网线的做法 2 集线器 交换机 路由器的介绍 3 OSI七层模型 4 路由器的设置 4 1 常见的路由器设置地址 4 2 常见的路由器
  • C++设计模式 #3策略模式(Strategy Method)

    动机 在软件构建过程中 某些对象使用的的算法可能多种多样 经常改变 如果将这些算法都写在类中 会使得类变得异常复杂 而且有时候支持不频繁使用的算法也是性能负担 如何在运行时根据需求透明地更改对象的算法 将算法和对象本身解耦 从而避免上述问题
  • WinSync.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个WinSync
  • 达芬奇18.6DaVinci ResolveStudio(Win/Mac)激活版

    DaVinci Resolve Studio 18是一款业界领先的视频后期制作软件 它集成了剪辑 调色 视觉特效 动态图形和音频后期制作等功能 为用户提供了完整的创作解决方案 该软件不仅适用于电影 电视和网页内容的制作 还广泛应用于广告 纪
  • 小程序模版|报名管理服务源码

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • Python 元组完全指南 1

    元组用于在单个变量中存储多个项目 mytuple apple banana cherry 元组是 Python 中的 4 种内置数据类型之一 用于存储数据集合 另外还有列表 集合和字典 它们都具有不同的特性和用途 元组是有序且不可更改的集合