第9课 列表、元组与字典(专题练习)
1. 下列属于列表的是(    )。
A. str="python" 
B. list = ['physics', 'chemistry', 'frog']
C. tup= ('spam', 'Spam', 'SPAM!')
D. dict = {'a': 1, 'b': 2, 'b': '3'}
【答案】C
【解析】A 错误 字符串
B 正确 列表
C 错误 元组
D 错误 字典
2. 列表中可以使用(    )函数添加一个新的元素到列表的尾部。
A. 赋值
B. append()
C. insert()
D. del()
【答案】A
【解析】A 错误 使用赋值语句和访问运算符可以更新指定的单个或多个列表元素。
B 正确 使用append()可以添加一个新的元素到列表的尾部。
C 错误 使用insert()可以将指定对象插入列表的指定位置。
D 错误 使用del()可以删除列表元素或列表(本身)。
3. 设有列表a=[1,2,3,4,5,6,7,8,9],执行以下切片运算a[:3],得到的结果是(    )。
A. 4
B. [1,2,3,4]
C. [1,2,3]
D. 3
【答案】C
【解析】切片操作符[start:stop]/[start:stop:step]有三个参数时表示从start起点位置(默认为0,包含该元素)到stop终点位置(不包含该元素)每隔step(步长,默认为1)个位置读取元素。因此a[:3]表示从左到右读取下标0到下标3(不包含该元素)的元素,结果为[1,2,3]。
4. 设有元组b=('physics', 'chemistry', 1997, 'physics', 'chemistry', 1997),执行语句print(b[1::2]),得到的结果是(    )。
A. 'physics'
B.('chemistry')
C. ('physics', 1997,'chemistry')
D. ('chemistry', 'physics', 1997)
【答案】D
【解析】切片操作符[start:stop:step]表示从start起点位置(默认为0,包含该元素)到stop终点位置(不包含该元素)每隔step(步长)个位置读取元素。其中第一个元素的下标为0而不是1,因此b[1::2]表示从下标为1的元组元素开始,每隔2个步长读取一个元素并输出,结果为('chemistry', 'physics', 1997)。
5. 设有列表c=[1,2,3,4,5,6,7,8,9],想要得到列表内容逆序排列,需要执行以下(    )语句。
A. c[:9:1]
B. c[1:9:-1]
C. c[:-10:-1]
D. c[0:-9:-1]
【答案】D
【解析】A 错误 step参数为1,表示正序输出。
B 错误 step参数为-1,表示逆序输出;但start和stop参数均为正值,表示正序输出,两者相互矛盾,结果为[]。
C 正确 stop和step参数均为负值,表示从右向左从下标为-1的元素(包含该元素)读取到下表为-10的元素(不包含该元素)输出,结果为[9, 8, 7, 6, 5, 4, 3, 2, 1]。
D 错误 逆序输出第一个元素的下标为-1而不是0,两者相互矛盾,结果为[]。
6. 有列表d=[5,1,8],执行以下操作d.append(8)后,d的内容为(    )。
A. [5,1,8]
B. [5,1]
C. [5, 1, 8, 8]
D. [8, 5, 1, 8]
【答案】C
【解析】列表需要动态添加元素时,可以使用列表的append()函数添加一个新的元素到列表的尾部。因此d.append(8)表示在原列表d=[5,1,8]尾部增加元素8,新列表为[5, 1, 8, 8]。
7. 有列表e=[5,1,8],执行以下操作e.insert(3,5)后,新列表e的内容为(    )。
A. [5,1,5]
B. [5, 1, 8, 5]
C. [3, 5, 1, 8]
D. [5, 1, 8, 3, 5]
【答案】B
【解析】insert()函数用于将指定对象插入列表的指定位置。insert()方法语法:list.insert(inde
x, obj),其中index表示对象obj需要插入的索引位置,obj表示要插入列表中的对象。因此e.insert(3,5)表示在原列表下标索引为3的位置插入元素5,则新列表为[5, 1, 8, 5]。
8. 有列表f=[1, 2, 3, 4, 5],执行下列哪个操作后不能得到新列表f=[1, 2, 4, 5](    )。
A. del f[2]
B. f.remove(3)
C. f.pop(2)
D. f.pop(3)
【答案】D
【解析】A 正确 del删除列表单个元素的语法为:del dataList[i]。其中,dataList为列表变量名称,i为待删除列表元素的索引。del f[2]表示删除索引下标为2的元素(即第三个元素),执行后结果为[1, 2, 4, 5]。
B 正确 remove删除列表元素的语法为:ve(obj)。其中,dataList为列表变量名称,obj为指定的内容(如字符串、数值等对象)。f.remove(3)表示删除3这一元素,执行后结果为[1, 2, 4, 5]。
C 正确 pop删除列表单个元素的语法为:dataList.pop(i)。其中,dataList为列表变量名称,i为待删除列表元素的索引。f.pop(2)表示删除索引下标为2的元素(即第三个元素),执行后结果为[1, 2, 4, 5]。
D 错误 pop删除列表单个元素的语法为:dataList.pop(i)。其中,i为待删除列表元素的索引而不是元素值。f.pop(3)执行后结果为[1, 2, 3, 5]。
9. 执行以下操作后的结果为(    )。
list=[2, 1, 4, 3, 6, 7, 5]
list.sort(reverse=True)
print(list)
A. [2, 1, 4, 3, 6, 7, 5]
B. [1, 2, 3, 4, 5, 6, 7]
C. [7, 6, 5, 4, 3, 2, 1]
D. [5, 7, 6, 3, 4, 1, 2]
【答案】C
【解析】列表的内置方法sort用于对列表进行排序,排序完成后列表内的元素顺序被改变。 sort方法语法如下:list.sort(key=None, reverse=False)其中,key为可选函数参数,该函数主要用来指定进行比较的元素,元素取自于待排序列表中的前两个元素,函数只能返回一个元素;reverse是一个布尔值,如果设置为True,列表元素将被倒序排列,默认为False。因此list.sort(reverse=True)表示列表元素从大到小倒序排序。
10. 清空字典dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}所有条目的指令是(    )。
A. dict.clear()
B. del dict
C. del dict['Name']
D. del dict[0:2]
【答案】A
【解析】使用del命令能删单一的元素也能删除整个字典,但是字典删除后会引发一个异常,因为用del后字典不再存在。清空字典则只需一项操作,dict.clear()。
11. 任意长度的 Python 列表、元组和字符串中最后一个元素的下标为________。
【答案】-1
【解析】Python倒序索引时从右向左计数,即从最后一个元素开始计数,从索引值 -1 开始。。
12. 有列表b=[‘a’],执行c=b*2语句后,输出c的结果是           
【答案】['a', 'a']
【解析】列表中*号用于重复列表元素。
13. 已知列表a=[1,2,3],b=[4,5,6],执行语句print(a+b)后,输出的结果是           
【答案】[1, 2, 3, 4, 5, 6]
【解析】列表中+号用于组合列表。
14. 有字典a={1,2,3,4,5},执行语句print(0 in a)后,输出的结果是           
python index函数【答案】False
【解析】在列表操作中,成员操作符“in”和“not in”用于判断一个对象的值是否出现或不出现在列表中,出现返回True,否则返回False。
15. 执行以下语句后,输出的结果是           
x,y,z = 1,2,3
print (x+y+z)
【答案】6
【解析】任意无符号的对象,以逗号隔开,默认为元组。x,y,z = 1,2,3表示x=1,y=2,z=3,所以x+y+z=6。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。