标签:rac define 插入 [1] 运算 ref index 表达 特性
Python 的元组与列表类似,不同之处在于元组的元素不能修改(元素的元素是可以修改的)。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
创建元祖方式:
1 >>> t = (1,2.0,‘a‘,‘sd‘,[3,4],) 2 >>> t1 = 1,2.0,‘a‘,‘sd‘,[3,4], 3 >>> t 4 (1, 2.0, ‘a‘, ‘sd‘, [3, 4]) 5 >>> t1 6 (1, 2.0, ‘a‘, ‘sd‘, [3, 4]) 7 >>>
还有用tuple()创建,如创建一个空元祖: t = tuple()
注:当元祖里面只有一个元素时,在元素后面要加上 ‘,‘ , eg: t = (‘tuple‘,)
由于元祖的元素不可改变的特性,导致元祖没有类似列表那种能直接对元祖自身更改的方法。所以元祖常用方法如下:
1 t.count(x) 2 ‘‘‘元素x在元祖里面出现的次数,不存在则返回0次‘‘‘ 3 t.index(x) 4 ‘‘‘元素x在元祖中的索引,不存在就返回错误‘‘‘
还有python内置函数:
1 max(t) 2 ‘‘‘返回元祖t中最大值‘‘‘ 3 min(t) 4 ‘‘‘返回元祖t的最小值‘‘‘ 5 len(t) 6 ‘‘‘返回元祖t的长度(元素个数)‘‘‘ 7 tuple(seq) 8 ‘‘‘把一个序列seq转换为元祖‘‘‘
因为元祖有序,支持索引,所以元祖可以进行切片,指定索引取值。利用分片也可以进行插入,但是插入后是重新开辟内存,与原来的元祖是不同的。
1 >>> t = (‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,) 2 >>> t[1:4] 3 (‘b‘, ‘c‘, ‘d‘) 4 >>> t1 = t[0:2] + (‘hello‘,) + t[2:] 5 >>> t1 6 (‘a‘, ‘b‘, ‘hello‘, ‘c‘, ‘d‘, ‘e‘) 7 >>> t 8 (‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘) 9 >>>
虽然元祖元素是不能改变的,但是元素的元素是可以改变的。
1 >>> m = (1,2.0,‘a‘,‘sd‘,[3,4],) 2 >>> m[3] 3 ‘sd‘ 4 >>> m[3] = ‘am‘ 5 Traceback (most recent call last): 6 File "<pyshell#24>", line 1, in <module> 7 m[3] = ‘am‘ 8 TypeError: ‘tuple‘ object does not support item assignment 9 >>> m[4] 10 [3, 4] 11 >>> m[4][1] = ‘aaa‘ 12 >>> m 13 (1, 2.0, ‘a‘, ‘sd‘, [3, ‘aaa‘]) 14 >>>
删除元祖:
元祖中的元素是不能更改的,所以这里的 del 删除是删除整个元祖:
1 >>> m = (1, 2.0, ‘a‘, ‘sd‘, [3, ‘aaa‘]) 2 >>> m 3 (1, 2.0, ‘a‘, ‘sd‘, [3, ‘aaa‘]) 4 >>> del m 5 >>> m 6 Traceback (most recent call last): 7 File "<pyshell#32>", line 1, in <module> 8 m 9 NameError: name ‘m‘ is not defined 10 >>>
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
(‘Hi!‘,) * 4 | (‘Hi!‘, ‘Hi!‘, ‘Hi!‘, ‘Hi!‘) | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): print x, | 1 2 3 | 迭代 |
标签:rac define 插入 [1] 运算 ref index 表达 特性
原文地址:http://www.cnblogs.com/xtsec/p/6573013.html