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

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知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

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

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

  1. PEP 8 - Python代码样式指南

    PEP 8 - Python代码样式指南 PEP: 8 标题: Python代码风格指南 作者: Guido van Rossum <python.org上的guido>,Barry Wa ...

  2. Python 编码风格指南

    原文:http://python.jobbole.com/84618/ 本文超出 PEP8 的范畴以涵盖我认为优秀的 Python 风格.本文虽然坚持己见,却不偏执.不仅仅涉及语法.模块布局等问题,同 ...

  3. PEP8中文版 -- Python编码风格指南

    Python部落组织翻译, 禁止转载 目录      缩进      制表符还是空格?      行的最大长度      空行      源文件编码      导入      无法忍受的      其 ...

  4. Python编程初学者指南|百度网盘免费下载|Python新手入门资料

    Python编程初学者指南|百度网盘免费下载 提取码:9ozx 目录  · · · · · · 第1章 启程:Game Over程序1.1 剖析Game Over程序1.2 Python简介1.2.1 ...

  5. 《Python编程初学者指南》高清PDF版|百度网盘免费下载|Python基础

    <Python编程初学者指南>|百度网盘免费下载| 提取码:03b1 内容简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python可以用于很多的领域,从科学计 ...

  6. Python编程初学者指南PDF高清电子书免费下载|百度云盘

    百度云盘:Python编程初学者指南PDF高清电子书免费下载 提取码:bftd 内容简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python可以用于很多的领域,从科学计算 ...

  7. Python元组

    Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('physi ...

  8. Python 元组内置函数

    Python元组包含了以下内置函数 序号 方法及描述 1 cmp(tuple1, tuple2)比较两个元组元素. 2 len(tuple)计算元组元素个数. 3 max(tuple)返回元组中元素最 ...

  9. Python面向对象编程指南

    Python面向对象编程指南(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1SbD4gum4yGcUruH9icTPCQ 提取码:fzk5 复制这段内容后打开百度网 ...

  10. Python 最佳实践指南 2018 学习笔记

    基础信息 版本 Python 2.7 Python 3.x Python2.7 版本在 2020 年后不再提供支持,建议新手使用 3.x 版本进行学习 实现 CPython:Python的标准实现: ...

随机推荐

  1. 我的第一个项目(九) :飞机大战Vue版本塞到主页

    好家伙, 这是未进行分包的vue版本的飞机大战 效果如下:   这里说明一下,大概使用逻辑是提供一个<div> 然后在这<div>中渲染游戏 游戏主界面代码如下: 1 < ...

  2. 百度爱番番基于图技术、流式计算的实时CDP建设实践

    导读:随着营销3.0时代的到来,企业愈发需要依托强大CDP能力解决其严重的数据孤岛问题,帮助企业加温线索.促活客户.但什么是CDP.好的CDP应该具备哪些关键特征?本文在回答此问题的同时,详细讲述了爱 ...

  3. C++左值右值完美转发转移

    左值(Lvalue)与右值(Rvalue) 英文含义: 左值(Lvalue):Locator value,意味着它指向一个具体的内存位置. 右值(Rvalue):Read value,指的是可以读取的 ...

  4. P8+架构师养成计划

    一.P8+要求 1.收集能力要求 1.专业能力 技术架构.业务架构.做到无中生有. 2.基石能力 沟通协调能力.团队管理能力.逻辑能力.风险控制能力. 3.影响力 团队内部影响.外部影响.行业影响力. ...

  5. mysql for update是锁表还是锁行

    转载至我的博客 https://www.infrastack.cn ,公众号:架构成长指南 在并发一致性控制场景中,我们常常用for update悲观锁来进行一致性的保证,但是如果不了解它的机制,就进 ...

  6. 基于AmbiqMicro-AMA3B2KK-KBR的可穿戴智能手环解决方案之心率测量源码解析

    一 前记 梳理该可穿戴产品的手环,产品,是一种成长.也是一个总结. 二 源码解析 1 初始化:这里主要初始化心率的检测间隔时间和心率值的位数. /* initialize heart rate pro ...

  7. 一个简单的百万并发的TCP服务器的实现。

    我们紧接着上篇文章,看看我们上节课的代码有什么问题? 可以明显的看出来上节课的代码公用了一个同样的缓冲区进行读写,正常的情况下我们需要封装一个结构体,让每个对应的客户端的FD都有独立的结构进行读写还有 ...

  8. day01-HTML01

    day01-HTML 1.JavaWeb技术体系 2.B/S软件开发架构简述 B/S架构 B/S框架,意思是前端(Browser浏览器,小程序,APP,或者自己写的)和服务端(Server)组成的系统 ...

  9. Android 使用系统JAR包

    项目开发过程中,经常有需要到系统jar包,导入系统jar包后,发现无法正常编译通过,针对此问题,下文简述下如何导入framework.jar ,并正常使用 1.导入framework.jar ,使用c ...

  10. C++11 中运行代码块耗时的方法以及坑(chrono 方法)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...