一,元组
1.特性:
a.它是容器类型;
b.任意对象的有序集合;
c.通过索引访问其中的元素;
d.不可变对象;
e.长度固定;
f.支持异构和嵌套;
例如:
In [2]: print t1
(1, 2, 3, 4, 5)
In [4]: t1.index(2) //索引元素
Out[4]:
1
In
[5]: t1.index(3)
Out[5]:
2
In [6]: t1.count(3) //元素出现的次数
Out[6]:
1
2.特殊性
虽然元组本身不变,如果元组内嵌套了可变类型的对象,那么此类元素的修改不会返回新元组。
例如:
In [424]: t5=('z',[1,2,3])
In [425]: t5
Out[425]: ('z', [1, 2, 3])
In [428]: t5[1].pop()
Out[428]: 3
In [429]: t5
Out[429]: ('z', [1, 2])
In [430]: id(t5)
Out[430]: 47641592
In [431]: t5[1].append(6)
In [432]: id(t5)
Out[432]: 47641592
二,序列操作总结
1.序列类型支持的操作符
操作 | 描述 | 操作 | 描述 |
s + r | 连接 | for x in s: | 迭代 |
s * n, n * s | 制作s的n个副本,n为整数 | all(s) | 如果s中的所有项都为True,则返回True |
v1, v2, ..., vn = s | 变量解包(unpack) | any(s) | 如果s中的任意项为True,则返回True |
s[i] | 索引 | len(s) | 长度 |
s[i:j] | 切片 | min(s) | s中的最小项 |
s[i:j:stride] | 扩展切片 | max(s) | s中的最大项 |
x in s, x not in s | 从属关系 | sum(s [, initial]) | 具有可选初始值的项的和 |
2.列表类型支持的操作
操作 | 描述 | 操作 | 描述 |
s[i] = x | 索引赋值 | del s[i] | 删除一个元素 |
s[i:j] = r | 切片赋值 | del s[i:j] | 删除一个切片 |
s[i:j:stride] = r | 扩展切片赋值 | del s[i:j:stride] | 删除一个扩展切片 |
转载于:https://blog.51cto.com/zkhylt/1706486