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的标准实现: ...
随机推荐
- 【Azure Logic App】消费型逻辑应用在消费Service Bus时遇见消息并发速度慢,消息积压
问题描述 消费型逻辑应用(Consumption Logic App)使用触发器模式消费 Azure Service Bus的消息,当Service Bus中存在大量消息等待消费时,Logic App ...
- 【Azure 应用程序见解】通过无代码方式在App Service中启用Application Insights后,如何修改在Application Insights中显示的App Service实例名呢?
问题描述 在App Service中,可以非常容易的启动Application Insights服务.默认情况中,在Application Insights中查看信息时候,其中的对象名称默认为App ...
- 【Azure Redis 缓存】定位Java Spring Boot 使用 Jedis 或 Lettuce 无法连接到 Redis的网络连通性步骤
问题描述 Java Spring Boot的代码在IDE里面跑可以连上 Azure 的 Redis服务,打包成Image放在容器里面跑,就连不上azure的redis服务,错误消息为: Unable ...
- C1. Good Subarrays (Easy Version)
思路:我们枚举每一个左端点,对于每一个左端点,寻找最长的满足条件的区间,这个区间长度就是左端点对答案的贡献,可以发现具有单调性,右端点只会前进不会倒退.所以我们两个指针各扫一遍区间就可以. #incl ...
- Python面向对象之派生和组合
[一]什么是派生 派生是指,子类继承父类,派生出自己的属性与方法,并且重用父类的属性与方法 [二]派生的方法 子类可以派生出自己新的属性,在进行属性查找时,子类中的属性名会优先于父类被查找 例如每个老 ...
- 借助 Terraform 功能协调部署 CI/CD 流水线-Part 2
在第一部分的文章中,我们介绍了3个步骤,完成了教程的基础配置: 使用 Terraform 创建 AWS EKS Infra 在 EKS 集群上部署 ArgoCD 及其依赖项 设置 Bitbucket ...
- IIS web.config 跨域设置 不包含 options的设置 thinkphp tp3 跨域
web.config <?xml version="1.0" encoding="UTF-8"?> <configuration> &l ...
- C#之winform捕获Console.WriteLine内容到日志文件
问题描述 之前接手同事的项目,是一个类似于服务端后台的Winform程序,主界面隐藏起来,只再任务栏显示程序图标. 整个项目里面没有日志记录功能,全靠Console.WriteLine打印信息.自己调 ...
- shell脚本中将 IFS (Internal Field Separator 内部字段分隔符)替换为换行符
将 IFS 中的空白符(换行.制表符.空格)修改为仅包含换行 IFS 是shell中的内部变量,在使用 for var in var_list;do use $var do something don ...
- 告别繁琐!1分钟带你构建RabbitMQ消息应用
支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac. RabbitMQ作为一款主流的消息队列工具早已广受欢迎.相比于其它的 ...