Python中常見的序列(Sequence)類型有三種:list,tuple, range。這裏講解list,即列表。list中大多數方法繼承自Sequence中,僅僅少數幾個自己的方法,如sort(),用來排序。
list可以通過以下幾種方法進行構造。
*用一對空的方括號來定義空列表,例如 uses = []
*使用方括號,用逗號分開元素。例如:[a], [a, b, c]
*方括號內使用一個迭代:[x for x in iterable]
*使用構造函數:list() or list(iterable)
構造函數方法構造的list和迭代器iterable中的元素是一樣的,包括順序。iterable不一定是一個序列,可以是任何支持迭代的容器,或者迭代對象。如何iterable已經是一個list,那麼這其實就是一個複製過程,相當於複製了一下list,生成新的list,類似於iterable[:]操作。一些例子如下:
list('abc'):返回['a','b','c'];
list((1, 2, 3)):返回[1, 2, 3];
如何沒有給定參數,則直接返回[]
一些常見的操作和方法如下(大多繼承自Sequence):
1. x in s:
返回true:如果列表s中有元素x
返回false:如果沒有元素x
2. x not in s:
返回true:如果列表s中沒有元素x
返回false:如果有元素x
3. s + t:
將列表s和列表t連接起來。
4. s * n or n * s:
將列表s重複n次
5. s[i]:
返回列表s中第i個元素,下標從0開始
6. s[i:j]:
截取下標從i到j的那部分,包括i不包括j
7. s[i:j:k]:
截取下標從i帶j的那部分,但是每一步跨越k個。
8. len(s):
返回列表s中元素個數
9. min(s):
返回列表s中最小值
10. max(s):
返回列表s中的最大值
11. s.index(x[, i[, j]):
返回s列表中第一個x的下標位置(或者下標爲i和j之間,第一個x出現的位置的下標)
12. s.count(x):
列表s中元素x的個數
13. s[i] = x:
將x賦值到列表s的第i個位置。
14. s[i:j] = t:
用iterable t替換列表s中從i到j之間的元素。
15. del s[i:j]:
刪除列表s中i到j之間的元素。類似於s[i:j] = []
16. s[i:j:k] = t:
用t中的元素代替列表s中從i開始,步長尾k,直到j之間的元素。
17. s.append(x):
向列表s的尾部追加元素x,類似於s[len(s) : len(s)] = [x]
18. s.clear:
情況s中的所有元素,類似於 del s[:]
19. s.copy:
返回列表s的一個淺複製
20. s.extend(t) or s += t:
用t中的內容擴展s
21. s.insert(i, x):
在位置i處插入元素x,類似於s[i:i] = [x]
22. s.pop(i):
返回第i個位置的元素,並將該元素從s中刪除
23. s.remove(x):
刪除s中的第一個x
24. s.reverse()
列表s中的元素反轉。
25 s.sort(*, key = None, reverse = False):
對s中的元素進行排序,用比較符號'<',如果元素是不可比較的會發聲錯誤。reverse爲True時,用比較符號
'>'。
參考鏈接:https://docs.python.org/3/library/stdtypes.html#iterator-types