Python語言中Tuple的由來分析
Tuple概述
在Python中使用元組(Tuple)存儲(chǔ)一組信息,其特征如下:
1、使用()定義元組
2、元組中使用逗號(hào) , 分割各元素;各元素類型可不一致。
3、元組的索引(下標(biāo))從0開始
4、可使用len(元組)求元組的元素個(gè)數(shù)
5、元組元素個(gè)數(shù) = 元組索引最大值 + 1
6、通過元組[索引]的方式獲取元組中的元素
簡單來說:Tuple在Python中表示一種“大小固定的有序序列”
Tuple與英語
之前,有位可愛的小伙伴問我:為什么Java里面有種集合叫Map,而不是叫其它名字?這個(gè)挺好解釋和理解的。今天,他又追問我:Python語言中的Tuple到底是什么意思?怎么要取這么個(gè)名字呢?
要回答這個(gè)問題,我們可能要從英語單詞開始說起;我們先來瞅瞅英語中對(duì)于倍數(shù)的表示:
| 倍數(shù) | 含義 |
|---|---|
| couple | 2倍 |
| triple | 3倍 |
| quadruple | 4倍 |
| quintuple | 5倍 |
| sextuple | 6倍 |
| … | … |
| centuple | 100倍 |
所以,在英語中-tuple后綴表示倍數(shù)的含義。
Tuple與數(shù)學(xué)
大約在1940年,數(shù)學(xué)中出現(xiàn)了有序數(shù)對(duì)的概念,它常表示為2-tuple。

什么是有序數(shù)對(duì)呢?順序的兩個(gè)數(shù)a和b組成的數(shù)對(duì),數(shù)學(xué)符號(hào)記作(a,b)叫做有序數(shù)對(duì)。所謂有序,是指一個(gè)2-tuple的元素順序是固定的,例如(a,b)和(b,a)是不同的有序數(shù)對(duì)。有序數(shù)對(duì)可以準(zhǔn)確的表示平面上的一點(diǎn),也就是坐標(biāo)(x,y)。
3個(gè)有序數(shù)列怎么表示呢,可以寫為(1,(2,3)),也可以直接寫成(1,2,3)。 擴(kuò)展到一般情況,n個(gè)有序數(shù)列,就被表示為n-tuple(n是正整數(shù))。 把有序的元素寫在( )內(nèi),再用逗號(hào)分隔;例如(9,5,2,7,6)就表示一個(gè)5-tuple。
這就是Tuple在數(shù)學(xué)中的由來。
Tuple與編程
后來,編程語言從數(shù)學(xué)中引入了Tuple;中國的科技文獻(xiàn)將其翻譯成了元組。說實(shí)話,這個(gè)翻譯有點(diǎn)讓人捉摸不透。如果,僅僅從字面意思是很難理解這種數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。所以,我們可以回歸到數(shù)學(xué):在數(shù)學(xué)定義中Tuple用來表示一個(gè)有限且有序的序列;它的長度不可變且元素有序。
到此這篇關(guān)于Python語言中Tuple的由來的文章就介紹到這了,更多相關(guān)Python Tuple由來內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python元組Tuple常用函數(shù)詳解
- 關(guān)于Python 實(shí)現(xiàn)tuple和list的轉(zhuǎn)換問題
- 深入理解Python虛擬機(jī)中元組(tuple)的實(shí)現(xiàn)原理及源碼
- Python代碼庫之Tuple如何append添加元素問題
- Python基礎(chǔ)Lists和tuple實(shí)例詳解
- python列表[list]和元組(tuple)詳情
- Python中的復(fù)雜數(shù)據(jù)類型(list、tuple)
- Python?tuple方法和string常量介紹
- Python中的元組(Tuple)操作實(shí)例詳解
- Python中tuple類型的使用
相關(guān)文章
使用Python?Cupy模塊加速大規(guī)模數(shù)值計(jì)算實(shí)例深究
Cupy是一個(gè)基于NumPy的庫,專門設(shè)計(jì)用于在GPU上進(jìn)行高性能計(jì)算,它提供了與NumPy相似的API,因此用戶可以很容易地將現(xiàn)有的NumPy代碼遷移到Cupy上,從而充分利用GPU的并行計(jì)算能力2023-12-12
Python利用jmespath模塊進(jìn)行json數(shù)據(jù)處理
jmespath是python的第三方模塊,是需要額外安裝的。它在python原有的json數(shù)據(jù)處理上做出了很大的貢獻(xiàn)。本文將詳細(xì)介紹如何利用jmespath實(shí)現(xiàn)json數(shù)據(jù)處理,需要的可以參考一下2022-03-03
Pycharm創(chuàng)建文件時(shí)自動(dòng)生成文件頭注釋(自定義設(shè)置作者日期)
這篇文章主要介紹了Pycharm創(chuàng)建文件時(shí)自動(dòng)生成文件頭注釋(自定義設(shè)置作者日期),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python?asyncore?socket客戶端開發(fā)基本使用教程
asyncore庫是python的一個(gè)標(biāo)準(zhǔn)庫,提供了以異步的方式寫入套接字服務(wù)的客戶端和服務(wù)器的基礎(chǔ)結(jié)構(gòu),這篇文章主要介紹了Python?asyncore?socket客戶端開發(fā)基本使用,需要的朋友可以參考下2022-12-12
將django項(xiàng)目部署到centos的踩坑實(shí)戰(zhàn)
Django部署到Cenos需要安裝大量的依賴包, 有很多坑需要踩,這篇文章主要給大家介紹了關(guān)于將django項(xiàng)目部署到centos踩坑的相關(guān)資料,需要的朋友可以參考下2021-07-07
python txt中的文件,逐行讀取并且每行賦值給變量問題
這篇文章主要介紹了python txt中的文件,逐行讀取并且每行賦值給變量問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-02-02
Python實(shí)現(xiàn)常見的4種坐標(biāo)互相轉(zhuǎn)換
主流被使用的地理坐標(biāo)系并不統(tǒng)一,常用的有WGS84、GCJ02(火星坐標(biāo)系)、BD09(百度坐標(biāo)系)以及百度地圖中保存矢量信息的web墨卡托,本文利用Python編寫相關(guān)類以實(shí)現(xiàn)4種坐標(biāo)系統(tǒng)之間的互相轉(zhuǎn)換,希望對(duì)大家有所幫助2023-02-02
Python通過4種方式實(shí)現(xiàn)進(jìn)程數(shù)據(jù)通信
這篇文章主要介紹了Python通過4種方式實(shí)現(xiàn)進(jìn)程數(shù)據(jù)通信,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
numpy 進(jìn)行數(shù)組拼接,分別在行和列上合并的實(shí)例
今天小編就為大家分享一篇numpy 進(jìn)行數(shù)組拼接,分別在行和列上合并的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05
python的dataframe轉(zhuǎn)換為多維矩陣的方法
下面小編就為大家分享一篇python的dataframe轉(zhuǎn)換為多維矩陣的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04

