Python Tuple由来
谷哥的小弟 人气:0Tuple概述
在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用来表示一个有限且有序的序列;它的长度不可变且元素有序。
加载全部内容