6.16 元組
元組的建立、訪問、更新,移除與列表類似,只是在更新與移除時不能更改原元組本身。
6.17 元組操作符和內建函式
與列表完全一致
6.18 元組的特殊性
6.18.2 元組也不是那麼「不可變」
元組物件本身是不可變的。
6.18.3 預設集合型別
所有函式返回的多物件都是元組型別。
>>> def fun():
... return 1, 2, 3
...
>>>
6.18.4 單元素元組
無法建立單元素元組,乙個變通的方法是在第乙個元素後面添乙個逗號來表明是乙個元組而不是在做分組操作。
>>> ("111")
...
'111'
>>> type(("222"))
>>> ("111",)
('111',)
>>>
6.20 *拷貝python物件、淺拷貝和深拷貝
序列型別物件的淺拷貝是預設型別拷貝,並可以以下幾種方式實施 (1)完全切片操作[:] (2)利用工廠函式 (3)使用copy模組的copy函式。
深拷貝需要copy.deepcopy()函式
>>> person1 = ['name', ['money', 100]]
>>> person2 = person1
>>> import copy
>>> person3 = copy.deepcopy(person1)
>>> person1[1][1] = 50
>>> print person1, person2, person3
['name', ['money', 50]] ['name', ['money', 50]] ['name', ['money', 100]]
>>>
幾點需要注意:1)、非容器型別沒有被拷貝一說,淺拷貝是用完全切片操作來完成的。2)、如果元組變數只包含原子型別物件,對它的深拷貝將不會進行。(注:因為元組是不可變的,深拷貝沒有意義)
第6章 序列 字串 列表和元組 5
6.13 內建函式 6.13.1 標準型別函式 cmp 6.13.2 序列型別函式 len max min sorted reversed enumerate zip sum list tuple alist a 1,3,4 for i,j in enumerate alist print i,j ...
第6章 序列 字串 列表和元組 2
string 模組預定義的字串 for迴圈的else語句是乙個可選項,它只在for迴圈完整的結束,沒有遇到break時執行。x 1,2,3,4,5 for item in range 0,len x print x item else print the last value of item is ...
序列 字串,列表,元組,字典
字串,str 用 包裹 str gu,yao,hu 列表,list 用包裹 spr str.split print spr gu yao hu 切片操作 spr 0 gu str.split 2 hu print spr 0 1 gu print spr 3 gu yao hu print spr ...