Python序列之元组 (tuple)
作者博文地址:http://www.cnblogs.com/spiritman/
Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套。不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
创建元组
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
tup1 = () #空元组
tup2 = ('a','b','c','d')
tup3 = (1,2,3,'a','b','c')
元组操作方法及实例展示
可以使用dir(tuple)查看元组支持的操作
count
1 功能:统计元组中某元素的个数 2 语法:T.count(value) -> integer -- return number of occurrences of value 3 T = ('a','b','c','d',1,2,2,3,4) 4 T.count(2) 5 结果:2
index
1 功能:获取元素在元组中的索引值,对于重复的元素,默认获取从左起第一个元素的索引值 2 语法:T.index(value, [start, [stop]]) -> integer -- return first index of value.Raises ValueError if the value is not present. 3 T = ('a','b',2,'c','d',1,2,3,4) 4 T.index(2) 5 结果:2 #元素2第一次出现在索引为2的位置 6 T.index(2,3,7) 7 结果:6
T1 + T2
1 功能:合并两个元组,返回一个新的元组,原元组不变 2 语法:T = T1 + T2 3 T1 = ('a','b','c') 4 T2 = (1,2,3,4) 5 T = T1 + T 2 6 结果:
7 print T 8 ('a','b','c',1,2,3,4) 9 print T1 10 ('a','b','c') 11 print T2 12 (1,2,3,4)
T1 * N
1 功能:重复输出元组N次,返回一个新元组,原元组不变 2 语法:T = T1 * N 3 T1 = ('a','b',1,2,3) 4 T = T1 * 3 5 结果: 6 print T 7 ('a','b',1,2,3,'a','b',1,2,3,'a','b',1,2,3) 8 print T1 9 ('a','b',1,2,3)
元组虽然不可变,但是当元组中嵌套可变元素时,该可变元素是可以修改的,元组本身不变,使用id(tuple)查看。
1 T = ('a','b','c',[1,2,3,4],1,2,3)
2 id(T)
3 140073510482784 4 print T[3] 5 [1,2,3,4] 6 T[3].append(5) 7 print T[3] 8 [1,2,3,4,5] 9 print T 10 ('a','b','c',[1,2,3,4,5],1,2,3)
11 id(T)
12 140073510482784
元组支持切片操作
1 语法:T[start [, stop[, step]]] 2 实例演示: 3 T = ('a','b','c','d','e','f','g','h') 4 print T[:] #取所有元素 5 ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h') 6 print T[2:] #取从索引2开始到末尾的元素 7 ('c', 'd', 'e', 'f', 'g', 'h') 8 print T[2:6] #取索引2到6的所有元素,不包含索引6 9 ('c', 'd', 'e', 'f') 10 print T[2:6:2] #从索引2到6,每隔一个元素取一个 11 ('c', 'e')
作者博文地址:http://www.cnblogs.com/spiritman/
http://www.cnblogs.com/spiritman/