首页 > 代码库 > Python学习笔记----序列共性
Python学习笔记----序列共性
序列操作符 作用
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 中
1、连接符(+):将一个序列和另外一个相同的序列做连接
这种方式连接序列不是最快的,
对于字符串来说,不如将所有字符串放在一个列表或者可迭代对象中,然后调用join方法把所有的子字符串连接起来。
对于列表来说,用extend()方法,将两个或者更多的列表对象合并
当只需要简单的将两个对象内容合并,或者说不能依赖内建函数的时候使用
2、* 拷贝操作符
3、切片
4、[None] + range(-1, -len(s), -1) 和[None].extend(range(-1, -len(s), -1))
前者是将None加入列表,有一个返回值, 后者的extend()方法没有返回值,在迭代使用的时候要注意这一点
5.、序列类型转换工厂函数(工厂函数会生产处新的对象,浅拷贝,浅拷贝就是只拷贝了对对象的索引,而不是重新建立了一个对象!如果你想完全的拷
贝一个对象(包括递归,如果你的对象是一个包含在容器中的容器),你需要用到深拷贝)
list(iter) 把可迭代对象转换为列表
str(obj) 把obj 对象转换成字符串(对象的字符串表示法)
unicode(obj) 把对象转换成Unicode 字符串(使用默认编码)
basestring() 抽象工厂函数,其作用仅仅是为str 和unicode 函数提供父类,所以不能被实例化,也不能被调用
tuple(iter) 把一个可迭代对象转换成一个元组对象
6、len(),reversed(),sum()函数只能接受序列类型的对象作为参数,剩下的还可以接受可迭代对象作为参数,Max()和min()函数也可以接收一个参数列表
enumerate(iter) a 接受一个可迭代对象作为参数,返回一个enumerate 对象(同时也是一个迭代器),该对象生成由iter 每个元素的index 值和item 值组成的元组(PEP 279)
len(seq) 返回seq 的长度
max(iter,key=None) or
max(arg0,arg1...,key=None)b 返回iter 或(arg0,arg1,...)中的最大值,如果指定了key,这个key 必须是一个可以传给sort()方法的,用于比较的回调函数.
min(iter, key=None) or
min(arg0, arg1.... key=None)b 返回iter 里面的最小值;或者返回(arg0,arg2,...)里面的最小值;如果指定了key,这个key 必须是一个可以传给sort()方法的,用于比较的回调函数.
reversed(seq)c 接受一个序列作为参数,返回一个以逆序访问的迭代器(PEP 322)
sorted(iter,func=None,key=None,reverse=False)c 接受一个可迭代对象作为参数,返回一个有序的列表;可选参数func,key 和reverse 的含义跟list.sort()内建函数的参数含义一样.
sum(seq, init=0)a 返回seq 和可选参数init 的总和, 其效果等同于reduce(operator.add,seq,init)
zip([it0, it1,... itN])d 返回一个列表,其第一个元素是it0,it1,...这些元素的第一个元素组成的一个元组,第二个...,类推.