序列类型有三种:list, tuple, range
x in s | 如果s中某项等于x则结果为True,否则为False |
x not in s | 如果s中的某项等于x则结果为False,否则为True |
s + t | s与t相拼接 |
s*n 或 n*s | 相当于s与自身进行n次拼接 |
s[i] | s的第i项,起始为0 |
s[i:j] | s从i到j的切片 |
s[i:j:k] | 从i 到 j步长为k的切片 |
len(s) | s的长度 |
min(s) | s的最小项 |
max(s) | s的最大项 |
s.index(x[, i[, j]]) | x在s中首次出现的索引号(索引号在i或其后且在j之前) |
s.count(x) | x在s中出现的总次数 |
相同序列类型也可以做比较操作,特别地,tuple 和 list的比较是通过比较对应元素的字典顺序。这意味着想要比较结果相等,则每个元素比较结果都必须相等,并且两个序列长度必须相同。
说明:
1、虽然in和not in操作在通常情况下仅被用于简单的成员检测,某些专门化序列(如,str, bytes和bytearray)也使用它他进行子序列检测。
2、小于0的值会被当作0来处理(生成一个与s同类型的空序列)。请注意序列s中的项并不会被拷贝,它们会被多次引用。
具体的原因在于[[]]是一个包含了一个空列表的单元素列表,所以[[]]*3结果中的三个元素都是对这一个空列表的引用。修改lists中的任何一个元素实际上都是对这个空列表的修改。您可以用以下方式创建以不同列表为元素的列表: