主要内容 #
- 元组的定义及特性
- 元组的构建
- 元组的索引
- 元组和列表的区别及相互转换
- 自学部分:元组的基本操作:更新, 删除, 运算, 截取
- 自学部分:对元组常用操作的内置函数:len() max() min() tuple()
1. 元组的定义及特性 #
元组与列表类似。 元组的最大特性,也是与列表最大区别是:元组的元素是不可被修改,添加,和删除的。 元组使用小括号定义,而列表使用中括号定义2. 元组的构建 #
构建一个空元组: 其中,tuple()是Python的内置函数。tup1 = () # 或者 tup1 = tuple() print(tup1)构建一个只有一个元素的元组: 注:逗号一定不能少,否则就变成一个值,而不是数据结构
tup2 = ("小明", ) # 或者 tup2 = tuple(("小明", )) print(tup2)构建多个元素的元组,和列表一样,只不过是用小括号构建:
tup3 = ("小明", "2005/06", "01") # 或者 tup3 = tuple(("小明", "2005/06", "01")) print(tup3)
3. 元组的索引 #
访问元组的方法与列表一样,通过索引进行访问。tup1 = ("小明", "2005/06", "01") print(tup1[0]) print(tup1[1]) print(tup1[2])
4. 元组和列表的区别及相互转换 #
下表总结了元组和列表的区别: 列表和元组可以相互转换: 列表转为元组,通过内置函数tuple()实现,比如:list1 = ["小明", "2005/06", "01", "小杰", "2005/08", "02"] tup1 = tuple(list1) print(tup1)元组转为列表,通过内置函数list()实现
tup1 = ("小明", "2005/06", "01", "小杰", "2005/08", "02") list1 = list(tup1) # 或使用推导表达式: list1 = [i for i in tup1] print(list1)
5. 元组的基本操作:更新, 删除, 运算, 截取 #
tup1 = ("小明", "2005/06", "01") tup1 = ("莉莉", "2005/08", "02") #更新元组 方法2: tup1 = "莉莉", "2005/08", "02" print(tup1)
tup1 = ("小明", "2005/06", "01") del tup1 print(tup1) #由于元组tup1已被删除,所以此行指令会抛出一个错误
tup1 = ("小明", "2005/06", "01") tup2 = ("莉莉", "2005/08", "02") tup3 = tup1 + tup2 print(tup3)和列表运算类似,元组可以通过乘法运算进行复制
tup1 = ("小明", "2005/06", "01") tup2 = tup1 * 2 print(tup2)
tup1 = ("小明", "2005/06", "01", "小杰", "2005/08", "02") print(tup1[0:3]) print(tup1[3:]) print(tup1[::2])可以通过设置步长为-1,来取元组逆转的元素:
tup1 = ("小明", "2005/06", "01", "小杰", "2005/08", "02") tup2 = tup1[::-1] print(tup2)
6. 对元组常用操作的内置函数:len() max() min() tuple() #
len()函数返回元组的长度:list1 = [99, 96, 90] tup1 = (99, 96, 90, 80, 97, 1, 16) length = len(tup1) #len()函数返回元组的长度 print(length) maxnum = max(tup1) #max()函数返回元组的最大值 print(maxnum) minnum = min(tup1) #min()函数返回元组的最小值 print(minnum) tup2 = tuple(list1) #tuple()函数将列表强制转换为元组 print(tup2)
7. 小结 #
OJ训练题 #
1、标准零件 – ★
2、换美金 – ★
3、不太甜的糖果 – ★
4、找朋友 – ★★★
5、体操训练USACO – ★★★★