Python 元组完全指南1
元组用于在单个变量中存储多个项目。
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,简书,博客园,慕课,51CTO,helloworld,腾讯开发者社区,阿里开发者社区
看完如果觉得有帮助,欢迎点赞、收藏和关注
Python 元组完全指南1的更多相关文章
- PEP 8 - Python代码样式指南
PEP 8 - Python代码样式指南 PEP: 8 标题: Python代码风格指南 作者: Guido van Rossum <python.org上的guido>,Barry Wa ...
- Python 编码风格指南
原文:http://python.jobbole.com/84618/ 本文超出 PEP8 的范畴以涵盖我认为优秀的 Python 风格.本文虽然坚持己见,却不偏执.不仅仅涉及语法.模块布局等问题,同 ...
- PEP8中文版 -- Python编码风格指南
Python部落组织翻译, 禁止转载 目录 缩进 制表符还是空格? 行的最大长度 空行 源文件编码 导入 无法忍受的 其 ...
- Python编程初学者指南|百度网盘免费下载|Python新手入门资料
Python编程初学者指南|百度网盘免费下载 提取码:9ozx 目录 · · · · · · 第1章 启程:Game Over程序1.1 剖析Game Over程序1.2 Python简介1.2.1 ...
- 《Python编程初学者指南》高清PDF版|百度网盘免费下载|Python基础
<Python编程初学者指南>|百度网盘免费下载| 提取码:03b1 内容简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python可以用于很多的领域,从科学计 ...
- Python编程初学者指南PDF高清电子书免费下载|百度云盘
百度云盘:Python编程初学者指南PDF高清电子书免费下载 提取码:bftd 内容简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python可以用于很多的领域,从科学计算 ...
- Python元组
Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('physi ...
- Python 元组内置函数
Python元组包含了以下内置函数 序号 方法及描述 1 cmp(tuple1, tuple2)比较两个元组元素. 2 len(tuple)计算元组元素个数. 3 max(tuple)返回元组中元素最 ...
- Python面向对象编程指南
Python面向对象编程指南(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1SbD4gum4yGcUruH9icTPCQ 提取码:fzk5 复制这段内容后打开百度网 ...
- Python 最佳实践指南 2018 学习笔记
基础信息 版本 Python 2.7 Python 3.x Python2.7 版本在 2020 年后不再提供支持,建议新手使用 3.x 版本进行学习 实现 CPython:Python的标准实现: ...
随机推荐
- 我的第一个项目(九) :飞机大战Vue版本塞到主页
好家伙, 这是未进行分包的vue版本的飞机大战 效果如下: 这里说明一下,大概使用逻辑是提供一个<div> 然后在这<div>中渲染游戏 游戏主界面代码如下: 1 < ...
- 百度爱番番基于图技术、流式计算的实时CDP建设实践
导读:随着营销3.0时代的到来,企业愈发需要依托强大CDP能力解决其严重的数据孤岛问题,帮助企业加温线索.促活客户.但什么是CDP.好的CDP应该具备哪些关键特征?本文在回答此问题的同时,详细讲述了爱 ...
- C++左值右值完美转发转移
左值(Lvalue)与右值(Rvalue) 英文含义: 左值(Lvalue):Locator value,意味着它指向一个具体的内存位置. 右值(Rvalue):Read value,指的是可以读取的 ...
- P8+架构师养成计划
一.P8+要求 1.收集能力要求 1.专业能力 技术架构.业务架构.做到无中生有. 2.基石能力 沟通协调能力.团队管理能力.逻辑能力.风险控制能力. 3.影响力 团队内部影响.外部影响.行业影响力. ...
- mysql for update是锁表还是锁行
转载至我的博客 https://www.infrastack.cn ,公众号:架构成长指南 在并发一致性控制场景中,我们常常用for update悲观锁来进行一致性的保证,但是如果不了解它的机制,就进 ...
- 基于AmbiqMicro-AMA3B2KK-KBR的可穿戴智能手环解决方案之心率测量源码解析
一 前记 梳理该可穿戴产品的手环,产品,是一种成长.也是一个总结. 二 源码解析 1 初始化:这里主要初始化心率的检测间隔时间和心率值的位数. /* initialize heart rate pro ...
- 一个简单的百万并发的TCP服务器的实现。
我们紧接着上篇文章,看看我们上节课的代码有什么问题? 可以明显的看出来上节课的代码公用了一个同样的缓冲区进行读写,正常的情况下我们需要封装一个结构体,让每个对应的客户端的FD都有独立的结构进行读写还有 ...
- day01-HTML01
day01-HTML 1.JavaWeb技术体系 2.B/S软件开发架构简述 B/S架构 B/S框架,意思是前端(Browser浏览器,小程序,APP,或者自己写的)和服务端(Server)组成的系统 ...
- Android 使用系统JAR包
项目开发过程中,经常有需要到系统jar包,导入系统jar包后,发现无法正常编译通过,针对此问题,下文简述下如何导入framework.jar ,并正常使用 1.导入framework.jar ,使用c ...
- C++11 中运行代码块耗时的方法以及坑(chrono 方法)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...