元组 tuple
python的元组与列表类似,不同之处在于元组的元素不能修改.
元组使用小括号,列表使用方括号.
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开.
>>>tup1 = ('Google', 'Runoob', 1997, 2000); >>> tup2 = (1, 2, 3, 4, 5 ); >>> tup3 = "a", "b", "c", "d"; # 不需要括号也可以 >>> type(tup3) <class 'tuple'>
创建空元组 : tup = ()
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当做运算符使用
>>>tup1 = (50) >>> type(tup1) # 不加逗号,类型为整型 <class 'int'> >>> tup1 = (50,) >>> type(tup1) # 加上逗号,类型为元组 <class 'tuple'>
元组与字符串类似,下标索引从0开始,可以进行截取,组合.
常用操作+内置方法
1.按索引取值(正向取+反向取): 只能取
tup1 = ('Google', 'Runoob', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 6, 7 ) print ("tup1[0]: ", tup1[0]) print ("tup2[1:5]: ", tup2[1:5]) #输出结果 tup1[0]: Google tup2[1:5]: (2, 3, 4, 5)
2.切片(顾头不顾尾)
t=('a','b','c','e','f') print(t[1:4]) #输出结果 ('b', 'c', 'e')
3.长度 len()
4.成员运算 in 和 not in
print('a' in t)
5.循环
t=(1,2.2,'aa',('b','c'),['a','b','c']) for item in t: print(item) #输出结果 1 2.2 aa ('b', 'c') ['a', 'b', 'c']
特殊情况:
>>> t = ('a', 'b', ['A', 'B']) >>> t[2][0] = 'X' >>> t[2][1] = 'Y' >>> t ('a', 'b', ['X', 'Y'])
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list元素,tuple一开始指向的list并没有改变成别的list,所以,tuple所谓的不变是说tuple的每个原色,指向永远不变. 当元素时可变对象时,对象内部属性是可以修改的,tuple的不可变限制只是在一个纬度上:元素的类型.实现理解,tuple的元素所保存的内容(数值或内存地址)是不允许修改的,但是地址映射的对象自身是可以修改的.