列表回顾练习题
- 创建一个列表,名为nums,使列表包含1~9共9个元素,从小到大排列。
- 将列表元素从大到小排列并输出(用list.reverse())。
- 将当前列表index为5的数字改为字符’python’,并输出。
- 创建一个新列表,名为dlc,列表包含任意3个元素,将改新列表与旧列表合并(使用’+’,或者list.append()),然后输出合并后的列表的最后6个元素。
元组
- 元组与列表相似,不同之处在于元组的元素不能修改。
- 元组使用小括号 ( ),列表使用方括号 [ ]。
- 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
- 由于元组的不可更改(稳定性),常用于传递函数的参数。
元组的创建
与列表的创建类似,注意使用小括号(圆括号)
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d" # 不需要括号也可以
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
tup1 = (1,) //这种情况下,tup1会被声明成一个元组,包含一个元素,该元素是数字1
tup1 = (1) //这种情况下,tup1会被声明成一个变量,该变量类型为integer,值为1
元素的访问
元素的访问与列表类似,通过index来访问特定位置上的值
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)
元组的修改
元组中的所有元素均不能被修改!!!
这是元组与列表的最大差别
元组的拼合(使用‘+’)
与列表的拼合类似
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
print (tup3)
输出如下:
(12, 34.56, 'abc', 'xyz')
元组的运算符
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 | 迭代 |
以上是不是也与上一章学过的列表很像呢?
元组和列表的解包
该方法适用于元组和列表
tup1 = (7,8,9)
list1 = [10,11,12]
a, b, c = tup1
d, e, f = list1
print(a,b,c)
print(d,e,f)
输出如下
7 8 9
10 11 12
元组的常用方法(函数)
方法及描述 | 实例 |
---|---|
len(tuple) 计算元组元素个数。 |
>>> tuple1 = (‘Google’, ‘Runoob’, ‘Taobao’) |
len(tuple1) 3 | | max(tuple)
返回元组中元素最大值。 | >>> tuple2 = (‘5’, ‘4’, ‘8’) max(tuple2) ‘8’ | | min(tuple)
返回元组中元素最小值。 | >>> tuple2 = (‘5’, ‘4’, ‘8’) min(tuple2) ‘4’ | | tuple(iterable)
将列表/字符串转换为元组。 | >>> list1= [‘Google’, ‘Taobao’, ‘Runoob’, ‘Baidu’] tuple1=tuple(list1) tuple1 (‘Google’, ‘Taobao’, ‘Runoob’, ‘Baidu’) | | tuple.count(obj)
计算某个元素出现的次数 | >>> tup1 = (2,2,3,4,5)
>>> tup1.count(2)
2
>>> | | tuple.index(obj)
返回某一元素的index | >>> tup1 = (2,2,3,4,5)
>>> tup1.index(2)
0
>>> |
以上函数对列表和元组均适用。
上周我们学过列表的常用函数,我们知道元组和列表在一定程度上具有相似性,但是元组内的元素是不可更改的。那么,列表适用的函数中哪些也适用于元组,哪些不可用于元组?(以下是上周学过的列表函数)
由于元组是不可更改的,因此不存在 tuple.remove(), tuple.insert(), tuple.append() ~~等等函数
练习一下
- 创建一个列表,名为nums,使列表包含1~4共4个元素,从小到大排列。
- 将该列表转化成元组(
tup1 = tuple(nums)
),并输出。 - 输出该元组的长度(元素个数)。(
print(len(tup1))
) - 解包该元组(
a,b,c,d = tup1
),并输出。 - 创建一个新的元组,使得该元组包含字符串“python”中的每个字母(
tup2 = tuple("python")
) - 创建一个新的元组,包含字符串“python”除首字母外的所有字母(
tup3 = tuple("python"``[1:]``)
) - 如果我要“反转”前述的元组tup1,想想可以如何办到?(转换成列表,reverse,载转换成元组)