以下是老男孩教育编写的Python教学资料,转载请注明出处:http://www.oldboyedu.com
?
Python的元组与列表类似,不同之处在于元组的元素不能修改。即数据可以被查询,但不能被修改。所以切片操作同样适用于元组。
一. 定义元组
>>> tup = ("python","小鸡","大鹏","老鼠")
当元组()中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作元素的类型使用:
>>> tup = ("python") >>> print(tup,type(tup)) >>> tup = ("python",) >>> print(tup,type(tup)) 计算结果: python <class 'str'> #这里打印的类型为元素的类型,不是定义元组的类型 ('python',) <class 'tuple'> #当加上","后,程序才能识别为元组
二. 元组的索引与切片
索引
>>> tup = ("python","小鸡","大鹏","老鼠") >>> print(tup[0]) >>> print(tup[1]) >>> print(tup[2]) 计算结果: python 小鸡 大鹏
切片
>>> tup = ("python","小鸡","大鹏","老鼠","Alex","培训") >>> print(tup[0:3]) #打印前3个索引的值 >>> print(tup[2:5]) #打印第2个至第5个的索引的值,索引默认从0开始 >>> print(tup[2:5:2]) #打印第2个至第5个的索引的值,每隔2个取一次值 >>> print(tup[-2::-2]) #倒序从倒数第二个向前取值,每隔2个取一次值 >>> print(tup[5:0:-2]) #倒序从索引5向前取值,每隔2个取一次值 计算结果: ('python', '小鸡', '大鹏') ('大鹏', '老鼠', 'Alex') ('大鹏', 'Alex') ('Alex', '大鹏', 'python') ('培训', '老鼠', '小鸡')
三. 元组的删除
>>> tup = ("python","小鸡","大鹏","老鼠","Alex","培训") >>> del tup #删除元组 >>> print(tup) 计算结果: Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'tup' is not defined
四. 元组和列表的相互转换
>>> tup = ("python","小鸡","大鹏","老鼠","Alex","培训") >>> li = list(tup) #将元组转换为列表 >>> print(li) >>> tups = tuple(li) >>> print(tups) #将列表转换为元组 计算结果: ['python', '小鸡', '大鹏', '老鼠', 'Alex', '培训'] ('python', '小鸡', '大鹏', '老鼠', 'Alex', '培训')
五. 练习题
1. 有如下变量(tu是个元祖),请实现要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44]) a. 讲述元祖的特性 b. 请问tu变量中的第一个元素 “alex” 是否可被修改? c. 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven” d. 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
原文地址:http://blog.51cto.com/13755563/2119167
时间: 2024-11-05 22:01:06