全部学科
Python全栈
python
NodeJS全栈
nodejs

数据结构基础专项测试

20 题 40 分钟 难度:★

考察知识点

  • 列表操作:创建、索引、切片、增删改查、常用方法
  • 元组特性:不可变性、创建方式、解包操作
  • 字典操作:键值对管理、访问方式、常用方法
  • 集合操作:创建、去重、集合运算(交集、并集、差集)
💡 参考答案在文末
判断题
1

序列解包要求左侧变量数量必须与右侧序列元素数量完全相等。

A

B

2

集合会自动去除重复元素,创建集合时重复元素只保留一个。

A

B

3

字典的键必须是不可变类型,如字符串、数字、元组,但列表不能作为字典的键。

A

B

4

元组是不可变序列,一旦创建就不能修改其元素,也不能添加或删除元素。

A

B

5

列表是可变序列,可以通过索引修改元素值,但不能通过索引添加新元素。

A

B

单选题
6

以下代码的输出结果是什么?

Python
def func(a, b, c):
    return a + b + c

params = {'a': 1, 'b': 2, 'c': 3}
result = func(**params)
print(result)
A

{'a': 1, 'b': 2, 'c': 3}

B

6

C

(1, 2, 3)

D

报错

7

执行a, b, c = (1, 2, 3)后,变量a、b、c的值分别是?

A

a=1, b=2, c=3

B

a=(1,2,3), b=None, c=None

C

a=1, b=2, c=(3,)

D

报错

8

执行first, *rest = [1, 2, 3, 4, 5]后,rest的值是什么?

A

2

B

[2, 3, 4, 5]

C

(2, 3, 4, 5)

D

5

9

集合A = {1, 2, 3},集合B = {2, 3, 4},执行A & B的结果是什么?

A

{1, 2, 3, 4}

B

{2, 3}

C

{1, 4}

D

{1}

10

以下哪种方式可以创建一个单元素元组?

A

(1)

B

(1,)

C

tuple(1)

D

[1]

11

以下哪个方法会返回新列表,而不是修改原列表?

A

append()

B

extend()

C

reverse()

D

sorted()

12

以下哪种方式可以创建一个空字典?

A

dict[]

B

{}

C

[]

D

dict{}

13

访问字典中不存在的键时,哪种方式不会引发异常?

A

d[key]

B

d.get(key)

C

d.pop(key)

D

d.keys()

14

要在列表末尾添加一个元素,应该使用哪个方法?

A

insert()

B

append()

C

add()

D

push()

15

以下哪种方式可以创建一个空集合?

A

{}

B

set()

C

[]

D

()

多选题
16

以下哪些是正确的序列解包用法?

A

a, b, c = [1, 2, 3]

B

a, *b = (1, 2, 3)

C

**kwargs = {'a': 1}

D

for key, value in {'a': 1}.items():

E

a, b, c = range(3)

F

{**d1, **d2}合并两个字典

17

以下哪些是字典的常用方法?

A

get()

B

keys()

C

values()

D

items()

E

append()

F

update()

18

集合A = {1, 2, 3},集合B = {2, 3, 4},以下哪些运算结果是正确的?

A

A | B = {1, 2, 3, 4}

B

A - B = {1}

C

A ^ B = {1, 4}

D

A & B = {1}

E

A.union(B) = {1, 2, 3, 4}

F

A.difference(B) = {4}

填空题
19

Python中交换两个变量a和b的值,最简洁的方式是使用序列解包:____________, ____________ = ____________, a。这种方式右侧会先打包成元组,然后左侧进行解包赋值。使用*进行扩展解包时,如first, *middle, last = [1, 2, 3, 4, 5],middle的值是[2, 3, 4],是一个列表类型。

20

字典d = {'a': 1, 'b': 2},使用____________方法安全获取键'c'的值可以写成d.get('c', ____________),不会引发异常。要添加新键值对{'c': 3},可以使用____________方法:d.update({'c': 3})。遍历字典的键值对使用items方法:for k, v in d.items():。字典的键必须是不可变类型,列表不能作为键因为它是可变类型。

参考答案
1.错误 2.正确 3.正确 4.正确 5.正确 6.B 7.A 8.B 9.B 10.B 11.D 12.B 13.B 14.B 15.B 16.A;B;D;E;F 17.A;B;C;D;F 18.A;B;C;E 19.a;b;b 20.get;0;update
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 性能优化专项测试
下一套试卷 → 文件操作专项测试
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码