Python语言中Tuple的由来分析

目录
  • Tuple概述
  • Tuple与英语
  • Tuple与数学
  • Tuple与编程

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用来表示一个有限且有序的序列;它的长度不可变且元素有序。

到此这篇关于Python语言中Tuple的由来的文章就介绍到这了,更多相关Python Tuple由来内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python的 元组(Tuple)详解

    目录 Python3的 元组(Tuple) 元组运算符 元组索引,截取 元组内置函数 总结 Python3的 元组(Tuple) Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号 ( ),列表使用方括号 [ ]. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用: 元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等. 可以对元组进行连接组合,但是不能修改,删除.

  • Python 实现list,tuple,str和dict之间的相互转换

    1.字典(dict) dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 1.1 字典--字符串 返回: print type(str(dict)), str(dict) 1.2 字典--元组 返回:('age', 'name', 'class') print tuple(dict) 1.3 字典--元组 返回:(7, 'Zara', 'First') print tuple(dict.values()) 1.4 字典--列表 返回:['age

  • Python基础数据类型tuple元组的概念与用法

    目录 元组简单介绍 声明元组 元组与列表的区别 特殊的元组 元组的简写 元组常见运算操作 索引 [ ] 取值 切片 [ : : ] 取值 运算符 + 运算符 * 关键字 in 常见函数 max(元组) 函数 min(元组) 函数 元组常见方法 index(item) count(value) 元组总结 元组简单介绍 元组是一个和列表和相似的数据类型,也是一个有序序列 两者拥有着基本相同的特性,但是也有很多不同的地方 声明元组 var = (1, 2, 3) var = ("1", &q

  • python中列表(list)和元组(tuple)的深入讲解

    前言 在我们实际开发中,经常需要将一组数据存储起来,以便使用.如果学习了其他的语言可能知道数组(Array)这个数据结构,它就可以将多个数据进行存储,访问数据可以通过数组下标的方式,的进行获取.如果你是python开发者,那么可以使用更加灵活的列表(list)和元组(tuple),来进行数据储存.下面我们先简单了解下列表和元组的基本使用. 列表 列表是动态的,长度可以改变,可以随意增加,修改或删除元素. 初始化列表 a = list() b = [] # 可以通过range快速创建list c

  • Python中的元组(Tuple)操作实例详解

    目录 引言 1.元组的创建&&访问 (1)元组的创建: (2)访问: 2.元组的修改&&删除 (1)元组的修改: (2)元组的删除: 3.元组的内置方法 4.将序列分解为单独的变量 5.实现优先级队列 总结 引言 在Python中,通过数据结构来保存项目中重要的数据信息.Python语言内置了多种数据结构,例如列表,元组,字典和集合等.本堂课我们来讲一讲Python中举足轻重的一大数据结构——元组. 在Python中,我们可以将元组看作一种特殊的列表.它与列表唯一的不同在于

  • Python语言中Tuple的由来分析

    目录 Tuple概述 Tuple与英语 Tuple与数学 Tuple与编程 Tuple概述 在Python中使用元组(Tuple)存储一组信息,其特征如下: 1.使用()定义元组2.元组中使用逗号 , 分割各元素:各元素类型可不一致.3.元组的索引(下标)从0开始4.可使用len(元组)求元组的元素个数5.元组元素个数 = 元组索引最大值 + 16.通过元组[索引]的方式获取元组中的元素 简单来说:Tuple在Python中表示一种“大小固定的有序序列” Tuple与英语 之前,有位可爱的小伙伴

  • Python语言中的if语句详情

    目录 1.简单介绍 2.if-else语句 3.用if语句来处理列表 1.简单介绍 每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试.Python 根据条件测试的值为True还是False来决定是否执行if语句中的代码.如果条件测试的值为True,Python就执行紧跟在if语句后面的代码:如果为False,Python就忽略这些代码. 要判断是否相等,我们可以使用==来进行判断: car = 'Audi' car.lower() == 'audi' 输出的结

  • python语言中pandas字符串分割str.split()函数

    目录 前言 1.常规赛数据格式 2.计算詹姆斯常规赛命中率 总结 前言 为了介绍python语言中pandas库在数据分析中的重要作用,本人打算以NBA球星勒布朗詹姆斯在2020-2021赛季常规赛个人数据为例对pandas相关函数进行详细说明.利用爬虫技术,在知名篮球网站虎扑爬取了勒布朗詹姆斯的数据,稍后会将数据上传至csdn,以供大家下载. 这篇文章,详细介绍了pandas字符串分割函数---str.split()的用法. DataFrame.str.split(pa,n,expand)pa

  • Python语言中的Selenium环境搭建

    目录 1.selenium 介绍 1.1 selenium历史 1.Selenium 1.0 2.Selenium 2.0 3.Selenium 3.0 2. selenium的环境配置步骤 2.1 安装/卸载 selenium 2.2 安装 drive 3.selenium-webdriver元素定位参考 4. 实例 1.selenium 介绍 Selenium是一个用于Web应 用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE (7,

  • Go语言中append函数用法分析

    本文实例分析了Go语言中append函数用法.分享给大家供大家参考.具体如下: Go语言中append的功能十分强大,使用它可以使很多功能的实现变得更加简洁.以下为简单对比: .将一个slice插入到另一个slice的指定位置: 不使用append: 复制代码 代码如下: func insertSliceAtIndex(slice_origin []int, slice_to_insert []int,      insertIndex int) (result []int, err error

  • python语言中with as的用法使用详解

    With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作.对于这种场景,Python的with语句提供了一种非常方便的处理方式.一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄. 如果不用with语句,代码如下: file = open("/tmp/foo.txt") data = file.read() file.close() 这里有两个问题.一是可能忘记关闭文件句柄:二是文件读取数据发生异常,没有进行任何处理.下面是处理异常的加强版本

  • 分析Go语言中CSP并发模型与Goroutine的基本使用

    目录 一.并发实现模型 1.1.多进程 1.2.多线程 1.3.协程 二.共享内存与CSP 三.Goroutine 一.并发实现模型 1.1.多进程 在之前的文章当中我们曾经介绍过,进程是操作系统资源分配的最小单元.所以多进程是在操作系统层面的并发模型,因为所有的进程都是有操作系统的内核管理的.所以每个进程之间是独立的,每一个进程都会有自己单独的内存空间以及上下文信息,一个进程挂了不会影响其他进程的运行.这个也是多进程最大的优点,但是它的缺点也很明显. 最大的缺点就是开销很大,创建.销毁进程的开

  • Go语言中struct的匿名属性特征实例分析

    本文实例分析了Go语言中struct的匿名属性特征.分享给大家供大家参考.具体分析如下: Go语言中struct的属性可以没有名字而只有类型,使用时类型即为属性名.(因此,一个struct中同一个类型的匿名属性只能有一个) 复制代码 代码如下: type PersonC struct {      id      int      country string  }    //匿名属性  type Worker struct {      //如果Worker有属性id,则worker.id表示

  • Go语言中的switch用法实例分析

    本文实例讲述了Go语言中的switch用法.分享给大家供大家参考.具体分析如下: 这里你可能已经猜到 switch 可能的形式了. case 体会自动终止,除非用 fallthrough 语句作为结尾. 复制代码 代码如下: package main import (  "fmt"  "runtime" ) func main() {  fmt.Print("Go runs on ")  switch os := runtime.GOOS; os

  • C语言中char*和char[]用法区别分析

    本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正. 本质上来说,char *s定义了一个char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以: 当char *s = "hello";后,不能使用s[0]='a':语句进行赋值.这是将提示内存不能为"written". 当用char s[]=&q

随机推荐