Python不可變物件元組(tuple)詳解

2021-09-23 01:59:35 字數 1330 閱讀 5348

元組和列表很相似,不過元組是不能在原處改變的物件,這點性質和字串一致,雖然元組不支援任何方法呼叫,但是元組具有列表的大多數屬性,以下是元組的一些特性。

一些基礎定義

# 空元組

t = ()

# 簡單元組

t = (1, 2, 3, 4)

print(t)

# 巢狀元組

t = (1, (2, 3), 4)

print(t[1][1])

示例結果:

(1, 2, 3, 4)

3

元組轉化的簡單使用
# 字串轉元組

t =tuple

('python'

)print

(t)# 列表轉元組

l =list

("python"

)t =

tuple

(l)print

(t)

示例結果:

('p', 'y', 't', 'h', 'o', 'n')

('p', 'y', 't', 'h', 'o', 'n')

索引和切片
t =(1

,2,3

,4,5

)# 索引

print

(t[3])

# 切片

print

(t[2:4

])

示例結果:

4

(3, 4)

簡單迭代

for迴圈迭代元組

t =(1

,2,3

,4,5

)for t in t:

print

(t *

10)

示例結果:

10

2030

4050

列表推導
t =(1

,2,3

,4,5

)l =

[x *

10for x in t]

print

(l)

示例結果:

[10, 20, 30, 40, 50]
當我們在學習元組時,總是會納悶已經有了列表為什麼還需要學習使用元組看似雞肋的內建物件呢? 我們可以通過元組的不可變性運用在一些場景中,因為其不可變性本身本身就提供了某種完整性,比如使用元組來實現函式的多返回值,作為引數傳遞給函式呼叫、或是從函式呼叫那裡獲得引數時,保護其內容不被外部介面修改。

python 可變物件和不可變物件

變數沒有型別,那麼就意味著它可以隨意指向任何物件。python中的變數相當於乙個指標。當將乙個變數a賦值給另乙個變數b時,無論變數a指向的是可變物件還是不可變物件,變數b指向變數a指向的物件。例 alist 1 2,3 anolist alist id alist id anolist true b...

python可變物件與不可變物件

可改變的物件 例子1def change num print function parameter id num num 100 print assigin value to num id num if name main a 10 print origin id a id a change a p...

Python可變物件和不可變物件

python中一切皆物件,每個物件都有其唯一的id,對應的型別和值,其中id指的是物件在記憶體中的位置。根據物件的值是否可修改分為可變物件和不可變物件。其中,不可物件包括 數字,字串,tuple,frozenset 不可變集合 可變物件包括 list,dict,set python中的變數可以指向任...