内容正文:
举一反三考点练
《Python程序设计》结构数据类型及其操作-课后自测
知识点一 列表
1.(简答题)已知列表 lst = ['p', 'y', 't', 'h', 'o', 'n'],请写出获取最后一个元素 'n' 的两种不同方式。
【答案】lst[-1] 和 lst[5]
【解析】Python列表支持负索引,-1表示最后一个元素。列表索引从0开始,'n'是第6个元素,其正索引为5。
2.(简答题)请写出将列表 lst = [1, 2, 3] 完全反转的两种方法。
【答案】lst.reverse() 和 lst = lst[::-1]
【解析】reverse()是列表的原地反转方法。切片[::-1]是创建一个反转后的新列表的简洁方式。
3.(简答题)请解释列表的“浅拷贝”和“深拷贝”的区别。
【答案】浅拷贝只复制列表本身,不复制列表中嵌套的可变对象。深拷贝会递归地复制列表及其所有嵌套对象,生成一个完全独立的副本。
4.(简答题)写出执行以下代码后,列表 my_list 的最终值。
my_list = [1, 2, 3]
my_list.append(4)
my_list.insert(0, 0)
my_list.pop(2)
【答案】[0, 1, 3, 4]
【解析】
my_list 初始为 [1, 2, 3]。
append(4) 后变为 [1, 2, 3, 4]。
insert(0, 0) 后变为 [0, 1, 2, 3, 4]。
pop(2) 删除并返回索引为2的元素(即2),最终列表为 [0, 1, 3, 4]。
5.(填空题)请使用列表推导式,生成一个包含0到9之间所有偶数平方的列表。
【答案】[x**2 for x in range(10) if x % 2 == 0]
【解析】range(10)生成0到9的整数,if x % 2 == 0筛选出偶数,x**2计算其平方,最终生成列表[0, 4, 16, 36, 64]。
知识点二 元组
1.(简答题)请写出创建一个空元组的两种方式。
【答案】t1 = () 和 t2 = tuple()
【解析】使用空的圆括号或调用不传参数的tuple()函数都可以创建一个空元组。
2.(简答题)已知元组 t = (10, 20, 30, 40, 50),请写出获取子元组 (20, 30, 40) 的切片表达式。
【答案】t[1:4]
【解析】切片操作 [start:end] 包含起始索引,不包含结束索引。要获取索引为1、2、3的元素,应使用 t[1:4]。
3.(简答题)为什么在需要存储一组不应改变的数据时,推荐使用元组而不是列表?请至少说出两点原因。
【答案】
安全性:元组的不可变性保证了数据不会被意外修改,使代码更健壮。
性能:元组在内存中的存储和访问速度比列表更快,占用资源更少。
4.(简答题)请解释元组解包(Tuple Unpacking)的含义,并给出一个例子。
【答案】元组解包是指将一个元组中的元素依次赋值给多个变量的过程。
例子:point = (3, 5),然后 x, y = point,执行后变量 x 的值为 3,变量 y 的值为 5。
5.(简答题)请写出以下代码的输出结果。
my_tuple = (1, 2, 3, 2, 4)
print(len(my_tuple))
print(my_tuple.count(2))
print(my_tuple[2])
【答案】
5
2
3
【解析】len(my_tuple) 返回元组长度,为5。my_tuple.count(2) 统计元素2出现的次数,为2。my_tuple[2] 访问索引为2的元素(从0开始),是3。
知识点三 字典
1.(填空题)创建一个包含键 'name' 值为 'Alice' 和键 'age' 值为 25 的字典,代码是:my_dict = ________。
【答案】{'name': 'Alice', 'age': 25}
2.(填空题)要从字典 scores = {'math': 95, 'english': 88} 中删除 'math' 这一项并得到其分数,应使用的代码是 math_score = scores. ________('math')。
【答案】pop
3.(填空题)要获取字典 info = {'id': 101, 'city': 'Beijing'} 中所有的键,可以使用 info. ________() 方法。
【答案】keys
4.(简答题)请写出两种创建空字典的方法。
【答案】
方法一:d = {}
方法二:d = dict()
5.(简答题)访问字典元素时,使用 d['key'] 和 d.get('key') 有什么主要区别?
【答案】
当键 'key' 不存在时,d['key'] 会引发 KeyError 错误,导致程序中断;而 d.get('key') 会返回 None(或指定的默认值),不会报错,程序可以继续执行。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
举一反三考点练
《Python程序设计》结构数据类型及其操作-课后自测
知识点一 列表
1.(简答题)已知列表 lst = ['p', 'y', 't', 'h', 'o', 'n'],请写出获取最后一个元素 'n' 的两种不同方式。
2.(简答题)请写出将列表 lst = [1, 2, 3] 完全反转的两种方法。
3.(简答题)请解释列表的“浅拷贝”和“深拷贝”的区别。
4.(简答题)写出执行以下代码后,列表 my_list 的最终值。
my_list = [1, 2, 3]
my_list.append(4)
my_list.insert(0, 0)
my_list.pop(2)
5.(填空题)请使用列表推导式,生成一个包含0到9之间所有偶数平方的列表。
知识点二 元组
1.(简答题)请写出创建一个空元组的两种方式。
2.(简答题)已知元组 t = (10, 20, 30, 40, 50),请写出获取子元组 (20, 30, 40) 的切片表达式。
3.(简答题)为什么在需要存储一组不应改变的数据时,推荐使用元组而不是列表?请至少说出两点原因。
4.(简答题)请解释元组解包(Tuple Unpacking)的含义,并给出一个例子。
5.(简答题)请写出以下代码的输出结果。
my_tuple = (1, 2, 3, 2, 4)
print(len(my_tuple))
print(my_tuple.count(2))
print(my_tuple[2])
知识点三 字典
1.(填空题)创建一个包含键 'name' 值为 'Alice' 和键 'age' 值为 25 的字典,代码是:my_dict = ________。
2.(填空题)要从字典 scores = {'math': 95, 'english': 88} 中删除 'math' 这一项并得到其分数,应使用的代码是 math_score = scores. ________('math')。
3.(填空题)要获取字典 info = {'id': 101, 'city': 'Beijing'} 中所有的键,可以使用 info. ________() 方法。
4.(简答题)请写出两种创建空字典的方法。
5.(简答题)访问字典元素时,使用 d['key'] 和 d.get('key') 有什么主要区别?
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$