Python语言中Tuple的由来分析
作者:谷哥的小弟 发布时间:2021-07-01 16:36:11
Tuple概述
在Python中使用元组(Tuple)存储一组信息,其特征如下:
1、使用()定义元组
2、元组中使用逗号 , 分割各元素;各元素类型可不一致。
3、元组的索引(下标)从0开始
4、可使用len(元组)求元组的元素个数
5、元组元素个数 = 元组索引最大值 + 1
6、通过元组[索引]的方式获取元组中的元素
简单来说:Tuple在Python中表示一种“大小固定的有序序列”
Tuple与英语
之前,有位可爱的小伙伴问我:为什么Java里面有种集合叫Map,而不是叫其它名字?这个挺好解释和理解的。今天,他又追问我:Python语言中的Tuple到底是什么意思?怎么要取这么个名字呢?
要回答这个问题,我们可能要从英语单词开始说起;我们先来瞅瞅英语中对于倍数的表示:
倍数 | 含义 |
---|---|
couple | 2倍 |
triple | 3倍 |
quadruple | 4倍 |
quintuple | 5倍 |
sextuple | 6倍 |
… | … |
centuple | 100倍 |
所以,在英语中-tuple后缀表示倍数的含义。
Tuple与数学
大约在1940年,数学中出现了有序数对的概念,它常表示为2-tuple。
什么是有序数对呢?顺序的两个数a和b组成的数对,数学符号记作(a,b)叫做有序数对。所谓有序,是指一个2-tuple的元素顺序是固定的,例如(a,b)和(b,a)是不同的有序数对。有序数对可以准确的表示平面上的一点,也就是坐标(x,y)。
3个有序数列怎么表示呢,可以写为(1,(2,3)),也可以直接写成(1,2,3)。 扩展到一般情况,n个有序数列,就被表示为n-tuple(n是正整数)。 把有序的元素写在( )内,再用逗号分隔;例如(9,5,2,7,6)就表示一个5-tuple。
这就是Tuple在数学中的由来。
Tuple与编程
后来,编程语言从数学中引入了Tuple;中国的科技文献将其翻译成了元组。说实话,这个翻译有点让人捉摸不透。如果,仅仅从字面意思是很难理解这种数据结构的特点。所以,我们可以回归到数学:在数学定义中Tuple用来表示一个有限且有序的序列;它的长度不可变且元素有序。
来源:https://blog.csdn.net/lfdfhl/article/details/126983124


猜你喜欢
- export default和export的区别export主要用于对外输出本模块变量的接口,一个文件就可以被理解为一个模块。export就
- 每天不同时间段通过微信发消息提醒女友简介有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她。你暗自下决心,下次一定要准时
- 活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法。把一组数
- 代码如下:ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。 /连接“网站
- 当我们导入的模型含有自定义层或者自定义函数时,需要使用custom_objects来指定目标层或目标函数。例如:我的一个模型含有自定义层“S
- 同步:就是在执行栈中(主线程)执行的代码异步:就是在异步队列(macroTask、microTask)中的代码简单理解区别就是:异步是需要延
- # vi mysqlusers.txtcreate database dataname;grant all privileges on da
- 写在前面之前的文章中已经讲过了遗传算法的基本流程,并且用MATLAB实现过一遍了。这一篇文章主要面对的人群是看过了我之前的文章,因此我就不再
- 目录1、发送get请求2、发送post请求3、发送https请求4、文件上传5、文件下载6、timeout超时7、鉴权7.1、auth参数鉴
- 引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍一、日志级别(从低到高):DEBUG :详细
- 某日,路上收到用户咨询,为了清除空间,想删除某200多G大表数据,且已经确认此表不再有业务访问,于是执行了一条命令‘de
- 本文实例讲述了python使用webbrowser浏览指定url的方法。分享给大家供大家参考。具体如下:这段代码提示用户输入关键词,通过we
- 请按步骤进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库.一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据
- 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档协程:协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文
- 在这个星期Doug Bowman离开谷歌的Twitter引发了很多激烈的讨论.在残酷的诚实邮件中,Doug Bowman援引谷歌”限制性的数
- threading.Timer一次timer只生效一次,不会反复循环,如果实现循环触发,代码如下:import timeimport thr
- 有两张表a表id val 1 a 2 b 3 c 4 d 5 e b表 a_id val 1 null 2 null 3 null 4 nu
- 在windows+iis服务器上运行asp程序可能会出现数据库无法更新的情况,具体错误信息可能为: 1、Microsoft JET Data
- js写常用导航鼠标下经过下方横线自动跟随html代码如下:<div class="header"> &nbs
- 需要写个js滑动展开折叠(收缩)的效果,搜索到无忧脚本的一篇贴子,稍加修改了下使其在FF也可应用,代码如下: <