序列
成员有序排列,可以通过小标的偏移量访问其中的一个或者几个成员,这类Python类型统称为序列。包括字符串、列表和元组类型。
下表列出了所有序列都适用的操作符,操作符按照优先级从高到低排列。
序列类型操作符:
序列操作符 | 作用 |
---|---|
seq[ind] | 索引 |
seq[ind1:ind2] | 切片 |
seq*expr | 序列seq重复expr次 |
seq1+seq2 | 链接序列seq1和seq2 |
obj in seq | 判断obj元素是否在序列seq中 |
obj not in seq | 判断obj元素是否不在序列seq中 |
序列类型的内建函数:
函数 | 含义 |
---|---|
list(iter) | 将可迭代对象转换为列表 |
str(obj) | 将obj对象转换为字符串 |
unicode(obj) | 把对象转换为Unicode字符串 |
basestring() | 抽象工厂函数,仅仅为srt(),unicode()函数提供父类,所以不能被实例化,也不能被调用 |
tuple() | 将可迭代对象转换为元祖 |
enumerate(iter) | 接受一个可迭代的对象作为参数,返回一个enumerate对象,该对象由iter的每个元素的index和item组成的元祖组成。 |
len(seq) | 返回seq的长度 |
max(iter,key=None) or max(arg1,arg2…key=None) | 返回iter或者(arg1,arg2…)中的最大值,如果指定了key,这个key必须是一个可以传给sort()方法的,用于比较的回调函数 |
min(iter,key=None) or min(arg1,arg2…key=None) | 返回iter或者(arg1,arg2…)中的最小值,如果指定了key,这个key必须是一个可以传给sort()方法的,用于比较的回调函数 |
reversed(seq) | 接受一个序列作为参数,返回一个逆序访问的迭代器 |
sorted(iter,func=None,key=None,reverse=False) | 接受一个可迭代对象作为参数,返回一个有序的列表 |
zip([it0,it1,…itN]) | 返回一个列表,第一个元素为it0,it1,…itN的第一个元素组成的元组,第二个元素…以此类推 |
sum(seq,init=0) | 返回seq和可选参数init的总和 |
reduce(operator.add,seq,init) | 效果等同于sum(seq,init=0) |
s注:len(),reversed(),sum()函数只能接受序列类型作为参数,剩下的可以接受一个可迭代对象作为参数,max(),min()函数也可以接受一个参数列表。