序列(Sequence): 字符串(普通字符串和unicode字符串),列表,元组
序列类型有着相同的访问模式:它的每个元素都能通过指定一个偏移量的方式得到,而多个元素可以通过slice得到。
1. 操作符
1.1 标准类型操作符一般都适用于所有的序列类型
1.2 序列类型操作符:
如下介绍按照优先级从高到低
- in
- +
- sequence1 + sequence2 但这种写法并不好 * sequence * int
- 对字符串,可以用''.join([s1, s2...])
- 对列表,可以用extend()替代
- *
- slice ([], [:], [::])
2. 内建函数
2.1 标准类型内建函数一般都适用所有的序列类型
2.2 序列类型内建函数
enumerate(iter)、len(seq), max(), min(), sum(), reversed(), sorted(), zip()
2.3. 类型转换
list(iter) 把可迭代对象转换为列表
tuple(iter) 把可迭代对象转换为元组
str(obj) 把obj对象转换为字符串
unicode(obj) 把obj转换为Unicode字符串(使用默认编码)
basestring(obj) 抽象工厂函数,其作用仅仅是为str和unicode函数提供父类,所以不能被实例化
注意:把一个列表对象传给 list()函数,便会创建这个对象的一个浅拷贝,然后将其插入新的列表中。同样地,在做连接操作和重复操作时,也是这样处理。
所谓浅拷贝就是只拷贝了对对象的索引,而不是重新建立了一个对象!如果你想完全的拷贝一个对象(包括递归,如果你的对象是一个包含在容器中的容器),你需要用到深拷贝。
2015-05-24