1. 序列长度: 从0 开机到 总元素数-1
负数表示方法: -len(sequence) 到 -1
2. 操作符:
成员关系操作符: in, not in
用来判断一个元素是否属于一个序列。
序列类型操作符:
seq[ind] 获得下标为ind的元素
seq[ind1:ind2] 获得下标从ind1到ind2之间的元素集合
seq * expr 序列重复expr次
seq1 + seq2 连接序列seq1 和seq2
obj in seq 判断obj元素是否包含在seq 中
obj not in seq 判断obj 元素是否不包含在seq中
seq1 + seq2 可以使用效率更高的 extend()方法进行多个列表对象合并
3. 实例
实现列表翻转: s='abcde' -->s[::-1]
通过循环方式, 每次把位于最后的一个字符砍掉:
s='abcdef'
>>> for i in [None]+range(-1, -len(s),-1):
print s[:i]
abcdef
abcde
abcd
abc
ab
a
技巧:用None 作为索引值
Operational:
序列类型可用的内建函数:
enumerate(iter) 接受一个可迭代对象作为参数,返回一个enumerate对象(同时也是一个迭代器), 该对象生成由iter每个元素的index值和item值组成的元组
len(seq) 返回seq 的长度
max(iter, key=None) or max( arg0, arg1..., key=None) 返回iter 或 (arg0,arg1...)中最大值,如果指定了key 这个key 必须是一个可以传给sort()方法的,用于比较的回调函数
min (iter, key=None) or max( arg0, arg1..., key=None)返回iter 或 (arg0,arg1...)中最小值,如果指定了key 这个key 必须是一个可以传给sort()方法的,用于比较的回调函数
reversed(seq) 接受一个可迭代对象作为参数,返回一个以逆序访问的迭代器
sorted(iter, fun=None, key=None, reverse=false) 接受一个可迭代对象作为参数,返回一个有序的列表,可选参数 func, key 和reverse 的含义跟list.sort() 内建函数一样
sum(seq, init=0)返回seq 和可选参数 init 的总和, 其效果等同于reduce(operator, add, seq, init)
zip ([it0, it1, ...itn]) 返回一个列表,其第一个元素是it0, it1, ..这些元素的第一个元素组成一个元组, 第二个。。。 类推