1. 程式人生 > >python list和tuple區別

python list和tuple區別

#只建立一個tuple  需要加,消除歧義
a_tuple=(2,)
#在tuple中建立list
mixed_tuple=(1,2,['a','b'])
print("mixed_tuple"+str(mixed_tuple))
#如果在tuple中巢狀list tuple中的list是可以被更改的 
mixed_tuple[2][0]='c'
print(mixed_tuple)
#tuple是一個不可以改變的list 一旦建立 一個tuple 就不能以任何的方式改變它


#tuple 與list 的相同之處
#定義 tuple 與定義list的方式相同,除了整個元素集用小括號包圍的而不是方括號
#tuple的元素與list一樣按定義的次序進行排序 tuple的索引與list一樣從0開始,所以 #一個非空的tuple的一個元素總是t[0] #負數索引與list一樣從tuple的尾部開始計數 #與list一樣分片(slice)也可以使用 .注意當分割一個list時,會得到一個新的list;當分割 #所以當分割一個tuple時,會得到一個新的tuple # #tuple不存在的方法 # 不能從一個tuple增加元素。所以沒有append 和extend方法 #不能用tuple刪除元素,所以沒有remove和pop方法 #然而可以使用in 來檢視一個元素是否存在tuple中 # ##用tuple的好處
#tuple比list操作速度快.如果定義了一個值的常量集,並且唯一要用它做的是不斷地遍歷 #則用tuple代替list #如果對不需要修改的資料進行"防寫",它可以使程式碼更安全.使用tuple而不是list如同擁有一個 #隱含的assert語句,說明這一資料是常量.如果必須要修改這些值.可以把tuple轉換list #的轉換 #tuple與list的轉換 #tuple可以轉換成list,反之亦然.內建的tuple函式接受一個list,並返回一個有著相同元素的tuple.而list函式 #接收一個tuple返回一個list.從效果上看,tuple凍結一個list,而list解凍一個tuple
# #tuple的其他應用 #一次賦多值 #>>>v=('a','b','e')) #>>>(x,y,z)=v #解釋:v是一個三元素的tuple並且(x,y,z)是一個三變數的tuple.將一個tuple賦值給另一個tuple會按順序將v的每一 #個值賦給每一個變數