Python 学习之元组
元組:不可修改的序列
tuple(讀音是 /tu?p?l/ 或 /t?p?l/)與列表一樣,元組也是序列,唯一的差別在于元組是不能修改的(你可能注意到了,字符串也不能修改)。元組語法很簡單,只要將一些值用逗號分隔,就能自動創(chuàng)建一個(gè)元組。
In [34]: 1,2,3 Out[34]: (1, 2, 3)元組還可用圓括號括起(這也是通常采用的做法)。
In [35]: (1,2,3) Out[35]: (1, 2, 3)空元組用兩個(gè)不包含任何內(nèi)容的圓括號表示。
In [36]: () Out[36]: ()如何表示只包含一個(gè)值的元組呢?這有點(diǎn)特殊:雖然只有一個(gè)值,也必須在它后面加上逗號。
In [38]: 21 Out[38]: 21In [39]: (21) Out[39]: 21In [40]: 21, Out[40]: (21,)In [41]: (21,) Out[41]: (21,)最后兩個(gè)示例創(chuàng)建的元組長度為1,而第一個(gè)和第二個(gè)示例根本沒有創(chuàng)建元組。
逗號至關(guān)重要,僅將值用圓括號括起不管用:(21)與21完全等效。但僅僅加上一個(gè)逗號,就能完全改變表達(dá)式的值。
In [42]: 3 * (40 + 2) Out[42]: 126In [43]: 3 * (40 + 2,) Out[43]: (42, 42, 42)函數(shù)tuple(與list一樣,tuple實(shí)際上也不是函數(shù),而是類型。不過眼下我們不用考慮這些。)的工作原理與list很像:它將一個(gè)序列作為參數(shù),并將其轉(zhuǎn)換為元組 。如果參數(shù)已經(jīng)是元組,就原封不動地返回它。
In [45]: tuple([1,2,3]) Out[45]: (1, 2, 3)In [46]: tuple("123") Out[46]: ('1', '2', '3')In [47]: tuple((1,2,3)) Out[47]: (1, 2, 3)因?yàn)樵M不可修改,所以除創(chuàng)建和訪問其元素外,可對元組執(zhí)行的操作不多。元組的創(chuàng)建及其元素的訪問方式與其他序列相同。
In [48]: x = 1,2,3In [49]: x Out[49]: (1, 2, 3)In [50]: x[1] Out[50]: 2In [51]: x[0:2] Out[51]: (1, 2)元組的切片也是元組,就像列表的切片也是列表一樣。
為何要熟悉元組呢?原因有以下兩個(gè)。
- 它們用作映射中的鍵(以及集合的成員),而列表不行。
- 有些內(nèi)置函數(shù)和方法返回元組,這意味著必須跟它們打交道。
參考資料
《Python基礎(chǔ)教程(第三版)》,人民郵電出版社
總結(jié)
以上是生活随笔為你收集整理的Python 学习之元组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 学习之列表
- 下一篇: 两数之和(Leetcode第1题)