1.容器序列:list、tuple、collections.deque;扁平序列:str、bytes、bytearray、memoryview、array.array;容器序列存放的是它们所包含的任意类型的对象的引用,而扁平序列里存放的是值而不是引用。
2.list和列表推导 [x for x in range(2,11)]
3.元组->不可变的列表,元组拆包,具名元组(collections.namedtuple)
lax_coordinates = (33.9425,-118.40)
lat,long = lax_coordinates
t = (20,8)
divmod(*t)
a,b,*rest = range(5)
from collections import nametuple
City = nametuple('City','name country population coordinates')
tokyo = City('Tokyo','JP',36.933,(35.12,139.45))
4.切片
在切片和区间操作里不包含区间范围的最后一个元素是python风格,这个习惯符合python、c和其他语言以0作为起始下标的传统。
1).当只有最后一个位置信息时,我们也可以快速看出切片和区间里有几个元素:range(3)返回3个元素
2).当起止位置信息都可见时,可以快速计算出切片和区间的长度,用后一个下标(stop-start)即可
3).这样也让我们可以利用任意一个下标来吧序列分割成不重叠的两部分,list[:,x]和list[x:]
5.序列使用+/*
6.序列的增量赋值(+=、*=)
7.list.sort会就地排序列表,不会将列表复制一份,返回None,如果一个函数或者方法对对象进行的是原地改动,就会返回None,这是python的惯例。sorted会新建一个列表返回。
8.数组,和numpy/scipy组合高效处理矩阵运算。