元组类型

元组 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的元素所保存的内容(数值或内存地址)是不允许修改的,但是地址映射的对象自身是可以修改的.

原文地址:https://www.cnblogs.com/kp1995/p/10002309.html