通用序列
- 字符串:不可变对象,元素只能是字符
- 列表:可变对象,元素类型不限
- 元组:不可变对象,元素类型不限
2.Python通用序列操作有:
- 索引操作:
seq[index]
,返回序列在该位置处的值,有越界检查 - 分片操作:
seq[index1:index2]
:返回一个新的序列,有越界检查 - 序列乘法:
seq*N
:返回一个新序列,包含seq
的N
份拷贝
3.不是序列,它是可变对象,但是元素只能是不可变类型。
字典也不是序列,它是可变对象,其元素的值是不限类型,但是键必须是不可变类型。
- 列表解析表达式:
[c*4 for c in 'abcd']
生成一个新列表对象,
结果为:['aaaa','bbbb','cccc','dddd']
set
解析表达式:{c*4 for c in 'abcd'}
生成一个新set
对象,
结果为:{'aaaa','bbbb','cccc','dddd'}
(打印顺序不确定)- 字典解析表达式:
{c:c*4 for c in 'abcd'}
生成一个新列表对象,
结果为:{'a':'aaaa','b':'bbbb','c':'cccc','d':'dddd'}
(打印顺序不确定)注意:并没有元组解析表达式。返回的是一个生成器对象。
5.Python 3.0 中,bytearray
字节串类型是可变的
6.序列的拷贝:
- 分片表达式能复制序列, 只能进行顶层拷贝
- 通过
list()
、tuple()
等方法 - 通过
copy
标准库模块,可以进行深层拷贝
- 数字通过相对大小比较
- 字符串从左到右每个字符按照字符的字典序比较
- 列表和元组从左到右每部分内容都比较
数字与其他类型比较在 Python 3.0 中是错误的