python系列六:Python3元组tuple

'''
元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
'''
'''
uple元素不可变有一种特殊情况,当元素是可变对象时。
对象内部属性是可以修改的!tuple的不可变限制只是在一个纬度上:元素的类型。
实现理解,tuple的元素所保存的内容(数值或内存地址)是不允许修改的,但地址映射的对象自身是可以修改的。
'''
a = (1,[3,2])
a[1][0] = 1
print (a)
a[1].append(3)
print (a)
del a[1][2]
print (a)
#del a[1]
'''
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion
'''
del a[1][1]
del a[1][0]
print (a)

'''
串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
tuple和list非常类似,但是tuple一旦初始化就不能修改
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。tuple的陷阱:
当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
'''

#元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
tup = ('Google', 'Runoob', 1997, 2000)
print (tup)
#del tup
print ("删除后的元组 tup : ")
print (tup)
'''
NameError: name 'tup' is not defined
'''

#元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
print(tup3)

#元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
tup1 = (50)
print(type(tup1))
tup1 = (50,)
print(type(tup1))


原文地址:https://www.cnblogs.com/hejing-swust/p/8215061.html