# 元组

'''
元组是另一个数据类型，类似于 List（列表）。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值，相当于只读列表。
'''
tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
# 元组中只包含一个元素时，需要在元素后面添加逗号
tup1 = (50,)

print(tuple)  # 输出完整元组
print(tuple[0])  # 输出元组的第一个元素
print(tuple[1:3])  # 输出第二个至第四个（不包含）的元素
print(tuple[2:])  # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2)  # 输出元组两次
print(tuple + tinytuple)  # 打印组合的元组

# tuple[2] = ('a') 给指定下标项重新赋值会报错
tuple = ('a') #但是可以重新给变量赋值
print(tuple)
'''
修改元组
元组中的元素值是不允许修改的，但我们可以对元组进行连接组合，如下实例:
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
 
# 创建一个新的元组
tup3 = tup1 + tup2
print tup3
'''
'''
删除元组
元组中的元素值是不允许删除的，但我们可以使用del语句来删除整个元组，如下实例:
tup = ('physics', 'chemistry', 1997, 2000)
del tup
'''
'''
元组运算符
与字符串一样，元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制，运算后会生成一个新的元组。
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	                        迭代
'''
'''
无关闭分隔符
任意无符号的对象，以逗号隔开，默认为元组，如下实例：
print 'abc', -4.24e93, 18+6.6j, 'xyz'
x, y = 1, 2
print "Value of x , y : ", x,y
以上实例运行结果：
abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2
'''
'''
元组内置函数
序号	方法及描述
1	    cmp(tuple1, tuple2)
        比较两个元组元素。
2	    len(tuple)
        计算元组元素个数。
3	    max(tuple)
        返回元组中元素最大值。
4	    min(tuple)
        返回元组中元素最小值。
5	    tuple(seq)
        将列表转换为元组。
'''
