首页 > 代码库 > 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,...这些元素的第一个元素组成的一个元组,第二个...,类推.