《Python语言程序设计》刘卫国主编,中国工信出版集团,电子工业出版社
习题6
一、选择题
1.下列Python数据中其元素可以改变的是( )。A
A.列表 B.元组 C.字符串 D.数组
Python 元组和列表一样,都是有序序列,大多数情况下可相互替换。元组:不可变序列(可以在字典中作为关键字使用);使用小括号定义,用逗号隔开。
2.表达式“[2] in [1,2,3,4]”的值是( )。D
A.Yes B.No C.True D.False
[2]为数组,因此不在数组[1,2,3,4]中,若为 2 in [1,2,3,4] ,则值为True
3.max((1,2,3)*2)的值是( )。A
A.3 B.4 C.5 D.6
元组乘法:(1,2,3)*2=(1,2,3,1,2,3)
4.下列选项中与s[0:-1]表示的含义相同的是( )。C
A.s[-1] B.s[:] C.s[:len(s)-1] D.s[0:len(s)]
序列的切片:[起始索引:终止索引:步长],步长省略默认步长是1。
省略起始索引,从序列最左端开始,显示到种植做因位置。
省略终止索引,从起始索引显示到最后。
两个索引都省略[:],显示所有元素
负数索引:-1代表最后一个元素,以次类推。
5.对于列表L=[1,2,'Python',[1,2,3,4,5]],L[-3]的是( )。B
A.1 B.2 C.'Python' D.[1,2,3,4,5]
负数索引:-1代表最后一个元素,倒数第二个元素-2,以次类推。负数索引的优点是可以在无需计算序列长度的前提下轻松定位序列中的元素。
6.L.reverse()和L[-1:-1-len(L):-1]的主要区别是( )。D
A.L.reverse()和L[-1:-1-len(L):-1]都将列表的所有元素反转排列,没有区别
B.L.reverse()和L[-1:-1-len(L):-1]都不会改变列表L原来内容
C.L.reverse()不会改变列表L的内容,而L[-1:-1-len(L):-1]会改变列表L原来内容
D.L.reverse()会改变列表L的内容,而L[-1:-1-len(L):-1]产生一个新列表,不会改变列表L原来内容
reverse函数(只有列表可用):会改变列表L的内容
reversed函数:对可迭代对象iterable元素按逆序排列,返回一个新的可迭代变量。使用reversed()函数进行逆序操作,并不会修改原来序列中元素的顺序
L[-1:-1-len(L):-1]:产生一个新列表,不会改变列表L原来内容
7.tuple(range(2,10,2))的返回结果是( )。C
A.[2, 4, 6, 8] B.[2, 4, 6, 8, 10]
C.(2, 4, 6, 8) D.(2, 4, 6, 8, 10)
tuple()函数:用于将列表、区间(range)等转换为元组
range(起始,终止,步长):不包括终止值。
8.下列程序执行后,p的值是( )。A
a=[[1,2,3],[4,5,6],[7,8,9]]
p=1
for i in range(len(a)):
p*=a[i][i]
A.45 B.15 C.6 D.28
len(a)=3,所以i的值分别为0,1,2。最终结果:p=1*5*9=45.
9.下列Python程序的运行结果是( )。C
s=[1,2,3,4]
s.append([5,6])
print(len(s))
A.2 B.4 C.5 D.6
append:可以在列表末尾添加元素。
s.append([5,6])之后s=[1,2,3,4,[5,6]],长度为5。
10.下列Python程序的运行结果是( )。B
s1=[4,5,6]
s2=s1
s1[1]=0
print(s2)
A.[4, 5, 6] B.[4, 0, 6] C.[0, 5, 6] D.[4, 5, 0]
s2=s1之后,s2和s1指向同一个地址,所以s1的值改变s2的值也会改变。
后续还会更新填空题。