python元組初始化
㈠ 深入理解python列表和元組
列表和元組都是一個可以放置任意數據類型的有序集合。這里需要注意三個詞,任意、有序、集合,其實就是說明列表和元組是可以放置任意數據類型,其次是有序的,另外,它是一個集合。
列表是動態的,它的長度大小不固定的,可以隨意的增加、刪除或者改變。
元組是靜態的,它的長度大小是固定的,無法增加、刪除或者改變。
列表是動態的、可變的,而元組是靜態的、不可變的。
列表的存儲方式,如下所示:
元組的存儲方式,如下所示:
存儲同樣的元素,元組使用的存儲空間更小,要少16個位元組。這是因為列表是動態的,所以列表中要存儲指針,來指向對應的元素。另外,列表是可變的,所以需要額外存儲已經分配的存儲信息,因為它要知道現在已經存儲了多少信息,還剩下多少,需不需要額外分配存儲空間等等。所以,列表多出來的存儲空間主要是:指針 + 存儲空間長度。
如下例子可以看到列表存儲空間的變化:
列表存儲空間變化:
從列表和元組的存儲方式可以得出,元組的性能是優於列表的。
元組和列表的初始化性能比較:
㈡ Python中的元組如何應用
元組是不可變的,即元組的項不能被修改。元組用圓括弧「()」括起來,並用逗號「,」來分隔其中的項。
例如,下面的元組包含了三個不同數據類型的項:
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
㈢ python 中的元組是什麼類型的數據
任何類型都可以
㈣ python中初始化字典,接受一個元組會出現這個問題:
dictionary update sequence element #0 has length 1; 2 is required
意思是更新字典的序列元素的長度需要為2,dict(a)這樣是把序列a中的元素一個個傳進去,沒有成對,改成這樣:dict((a,))
㈤ 關於Python的序列、列表和元組
//簡明Python教程第9章數據結構(適合初學者的教程)
http://sebug.net/paper/python/ch09.html
㈥ 怎麼初始化包含一個元素的元組
因為前兩個元素不是元組;他們只是字元串。括弧不會自動使它們成為元組。你必須在字元串後添加一個逗號,以指示python它應該是一個元組。然後點擊初始化就能看到包含的元祖。
㈦ Python中的元組(Tuple)
在Python中,元組(Tuple)與列表(List)類似,也是一個有序的序列,但元組是一個不可變對象,其一旦初始化後便無法進行修改。
一般在創建元組時,分為創建空元組和非空元組,其創建方式如下:
從上面可以看到,我們只需要把元組的所有元素放在 小括弧 () 裡面,每個元素之間通過 逗號 , 間隔起來即可,當然和列表一樣,元組中同樣允許存放不同數據類型的元素。
元組中使用的 () 是常見的數學運算符,如果參考列表的創建,如下:
從上面可以看到,我們創建出來的壓根就不是元組類型。那麼我們想創建一個只包含一個元素的元組時,需要怎麼創建呢?
很簡單,只需要在元素後加上一個 逗號 , ,這樣創建出來就是一個元組。
當我們需要訪問元組中的元素,可以類似列表一樣通過索引取值或切片取值。
如果訪問的索引不存在,那麼會報錯: IndexError: tuple index out of range
在元組中,可以像列表一樣使用切片,語法為: 元組[start:end:step] ,通過切片可以獲取到元組中指定范圍的元素,返回結果是一個新元組。在這里,需要注意切片的規則是左閉右開,也就是說包含頭部 start,但不包含尾部 end ,而 step 則表示切片的步長,需要每間隔 step 個元素取一次。
在上面我們提到了元組是不可變的,這就意味著我們創建一個元組之後,不能再去改變其值了,比如下面這樣就會出現報錯:
假設元組中存在元素是一個可變對象,如果我們不改變元組,但改變了可變對象的值,又會得到怎麼的結果呢?請看下面實例:
從上面可以看到,元組中的第 2 個元素似乎發生了變化,這豈不是和上面說的元組不可變自相矛盾了嗎?
其實,我們說的元組不可變,指的是元組中各元素的指向永遠保持不變。在上面操作中,元組中第 2 個元素指向的一直是 列表nums ,我們改變的其實不是元組的元素,而只是改變了 列表nums 中的元素。
元組是不可變的,因此我們就不能刪除元組中的元素,但是,我們可以通過 del 語句刪除整個元組。
通過關鍵字 in ,可檢查當前元組中是否包含指定元素,返回結果為布爾值 True 或 False。
通過關鍵字 in ,還可以用於遍歷當前元組。