数据结构基础专项测试
考察知识点
- 列表操作:创建、索引、切片、增删改查、常用方法
- 元组特性:不可变性、创建方式、解包操作
- 字典操作:键值对管理、访问方式、常用方法
- 集合操作:创建、去重、集合运算(交集、并集、差集)
序列解包要求左侧变量数量必须与右侧序列元素数量完全相等。
集合会自动去除重复元素,创建集合时重复元素只保留一个。
字典的键必须是不可变类型,如字符串、数字、元组,但列表不能作为字典的键。
元组是不可变序列,一旦创建就不能修改其元素,也不能添加或删除元素。
列表是可变序列,可以通过索引修改元素值,但不能通过索引添加新元素。
以下代码的输出结果是什么?
def func(a, b, c):
return a + b + c
params = {'a': 1, 'b': 2, 'c': 3}
result = func(**params)
print(result)
执行a, b, c = (1, 2, 3)后,变量a、b、c的值分别是?
执行first, *rest = [1, 2, 3, 4, 5]后,rest的值是什么?
集合A = {1, 2, 3},集合B = {2, 3, 4},执行A & B的结果是什么?
以下哪种方式可以创建一个单元素元组?
以下哪个方法会返回新列表,而不是修改原列表?
以下哪种方式可以创建一个空字典?
访问字典中不存在的键时,哪种方式不会引发异常?
要在列表末尾添加一个元素,应该使用哪个方法?
以下哪种方式可以创建一个空集合?
以下哪些是正确的序列解包用法?
以下哪些是字典的常用方法?
集合A = {1, 2, 3},集合B = {2, 3, 4},以下哪些运算结果是正确的?
Python中交换两个变量a和b的值,最简洁的方式是使用序列解包:____________, ____________ = ____________, a。这种方式右侧会先打包成元组,然后左侧进行解包赋值。使用*进行扩展解包时,如first, *middle, last = [1, 2, 3, 4, 5],middle的值是[2, 3, 4],是一个列表类型。
字典d = {'a': 1, 'b': 2},使用____________方法安全获取键'c'的值可以写成d.get('c', ____________),不会引发异常。要添加新键值对{'c': 3},可以使用____________方法:d.update({'c': 3})。遍历字典的键值对使用items方法:for k, v in d.items():。字典的键必须是不可变类型,列表不能作为键因为它是可变类型。