Python自學入門學習基礎之一: 列表和元組
列表
首先,列表屬於序列,那麽序列類型可用如下內建函數——
list(iter):把可叠代對象轉換為列表。
str(obj):把obj對象轉換為字符串,即用字符串來表示這個對象。
tuple(iter):把一個可叠代對象轉換為一個元組。
unicode(obj):把對象轉換成Unicode字符串。
basestring():抽象工廠函數,其作用僅僅是為str和unicode函數提供父類,所以不能被實例化,也不能被調用。
enumerate(iter):接受一個可叠代對象作為參數,返回一個enumerate對象,該對象生成由iter每個元素的index值和item值組成的元組。
len(seq):返回seq的長度。
max(iter,key=None)、max(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最大值,如果指定了key,這個key必須是一個可以傳給sort()方法的,用於比較的回調函數。
min(iter,key=None)、min(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最小值,如果指定了key,這個key必須是一個可以傳給sort()方法的,用於比較的回調函數。
reversed(seq):接受一個序列作為參數,返回一個以逆序訪問的叠代器。
sorted(iter,cmp=None,key=None,reverse=False):接受一個可叠代對象作為參數,返回一個有序的列表,可選參數cmp、key和reverse和list.sort()內建函數含義一樣。
sum(seq,init=0):返回seq和可選參數init的總和,其效果等同於reduce(operator.add,seq,init)。
zip([it0,it1...]):返回一個列表,其第一個元素是it0、it1...這些元素的第一個元素組成的一個元組,其它元素依次類推。
其次,列表就像一個線性容器,但是比C++的 lis t擴展多得多
列表裏的元素可以是相同類型,也可以包含各種類型,比如列表裏嵌套另一個列表
列表可以進行切片,切片的操作類似於對函數的調用,返回值一個新的列表
切片 L1[ x : y : z ] 是半開閉區間(z通常不用寫),如L1[1:3] 返回的是一個從 L1[1] 開始到 L1[2] 結束的列表,不包含L1[3]
x 不寫表示從頭開始,y 不寫表示直到列表結束,z 用於表示步長, 默認是1, 可以認為是在這個區間裏每 z 個元素取一個(取第一個),可以是負數,表示從後到前遍歷
列表可以做加法,做乘法,字符串也可以看做一個字符的列表
in語句,判斷一個對象是否在一個字符串/列表/元組裏
not 語句表示對後面的否定
len 可以檢測字符串/列表/元祖/字典的元素個數
max 可以返回最大元素,min 返回最小元素
基礎降到這,也就不會給代碼了,知道一個思路,你們可以手動實現以下操作:
賦值
刪除
分片賦值
將一個元素添加到列表的末尾
合並列表
返回列表中的坐標
刪除位置的元素並將它返回
將列表逆序
元祖
元組也屬於序列,但元組為不可修改的列表。所以元組沒有以上序列通用方法可用!
一個元素的元組表示為 ( 1 , )
元組可轉換成列表,反之亦然。
內建的 tuple() 函數接受一個列表參數,並返回一個包含同樣元素的元組,而 list() 函數接受一個元組參數並返回一個列表。
從效果上看, tuple() 凍結列表,而 list() 融化元組。
可以用列表 或 元組 進行一次多賦值
Python自學入門學習基礎之一: 列表和元組