零基礎學習 Python 之元組

2021-09-11 17:38:08 字數 2386 閱讀 1658

元組和我們之前講過的數字,字串和列表一樣,也是 python 中的一種物件型別,它和列表比較想象,所以一般會被忽略掉,但是由於其特殊性,在實際應用的時候又很容易犯錯。

首先我們來看乙個例子:

>>> a = 'abc'

>>> a

'abc'

>>> b = 'def',123,[1,2,3]

>>> b

('def', 123, [1, 2, 3])

>>> type(a)

'str'>

>>> type(b) #type是檢視物件型別的函式

'tuple'>

複製**

從上面的例子中很容易看出 a 是字串,但是看 b ,這樣輸入竟然沒有報錯,而且把結果放到了乙個圓括號裡,這就是 python 的與眾不同之處,這個帶括號的物件,就是我們今天要講的新的物件型別:元組 ( tuple ) 。

元組是用圓括號括起來的,元素與元素之間用英文的逗號隔開,從上面的例子中我們也可以看出,元組也是序列,這個跟字串和列表類似。但是元組中的元素不能更改,和字串類似;但是元組裡的元素又可以是任意的物件型別,這個跟列表相似,所以我們姑且可以認為元組是部分字串屬性和部分列表屬性的並集。

既然元組也是列表,那麼它跟字串和列表的基本操作相仿,每個元素理應有自己對應的索引,並且可切片。

>>> str = (1,2,'234',(1,2),['c','c++','python'])

>>> str[2]

'234'

>>> str[4]

['c', 'c++', 'python']

>>> str[4][2]

'python'

複製**

關於序列的操作在元組上的操作在這裡就不一一展示了,之前的文章寫過,有興趣的可以自己嘗試一下,忘記的可以點下面的文章。

零基礎學習 python 之字串

零基礎學習 python 之列表

當然了,因為元組是不可修改的,所以在列表裡面所以關於可以修改列表的方法在這裡都是無效的。那麼元組這類型別的物件有哪些方法呢?還記得之前我們說過的 dir() 嗎?dir(tuple) 就可以知道了(下面**可以右拉)。

>>> dir(tuple)

['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

複製**

雖然元組不可修改,但是元組和列表是可以互相轉化的,可以用 list() 和 tuple() 實現。

>>> a = ('a','123',[1,2,3])

>>> type(a)

'tuple'>

>>> a = list(a)

>>> type(a)

'list'>

>>> a = tuple(a)

>>> type(a)

'tuple'>

複製**

還有一點需要提醒的是,當元組中只有乙個元素的時候,要在元素的後面跟上英文的逗號,要不然 python 會誤會你想表達的意思,請看下面的例子。

>>> str1 = ('rocky',)

>>> type(str1)

'tuple'>

>>> str2 = ('rocky')

>>> type(str2)

'str'>

複製**

因為元組比較簡單,所以到這裡基本上就結束了。其實看完元組以後,很多人會有乙個疑惑,那就是元組有什麼用呢?既然只是字串和元組部分功能的並集,那麼我們只用列表和字串就好了呀,還學什麼元組?在很多時候確實只需要字串和列表就可以解決很多問題,但是不要忘了我們的計算機是用來處理複雜問題的,就比如我們說的話一樣,有些詞不常用但是它就是不可替代的,我們照樣要在某些特定的場景下使用它。

就拿元組的其中乙個好的地方來說,在字典中,元組可以作為字典的 key ,但是列表就不可以,因為字典的 key 是不可變的。至於什麼是字典,也是一種物件,我在之後會講到。

Python零基礎之元組,字典,集合

tup print type tup tup 1 print type tup tup1 0,print type tup1 tup 1,2,3,4,5print type tup a,b,c,d,e tup print a,b,c,d,e tup 1,2,3,4,5a,b,c tup d,e,f ...

零基礎學習 Python 之字典

相信大家對字典並不陌生吧,學生時代一塊塊的大小 磚頭 還記得怎麼用吧?先從索引查詢,不管是拼音還是偏旁部首,通過索引查到相應的內容,這樣就不需要我們從頭一頁一頁的找,這種方法可以很快的找到目標。正是基於這種需求,python 裡有了一種 dictionary 的物件型別,翻譯過來就是 字典 用 di...

小甲魚python零基礎入門 學習筆記 元組

簡單來說 元組就是不能修改值的列表,即不可變的列表。如果需要儲存的一組值在程式的整個生命週期內不變,可使用元組。元組與列表在 上的區別 元組的定義用 型別是tuple 列表的定義用,型別是list name list peter william jack tom alice jim type nam...