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