1.对列表a = [1,2,3,1,2,4,6]进行去重后,得到列表b,在不考虑列表元素的排列顺序的前提下,下列方法错误的是:(D)
A.
b = list(set(a))
B.
b = {} b = list(b.fromkeys(a))
C.
a.sort() b = [] i = 0 while i < len(a): if a[i] not in b: b.append(a[i]) else: i += 1
D.
a.sort() for i in range(len(a)-1): if a[i] == a[i+1]: a.remove(a[i]) else: continue b = a
解析:
D选项错误原因在于for循环的计数次数是不变的,但是随着a重复元素不断的移除,会导致列表出现IndexError。
2.在Python3中,下列语句正确结果为:C
tmp = [2, 1, 5, 4, 7] print(max(tmp)) print(tmp.index(max(tmp)))
A.7,1
B.5,2
C.7,4
D.7,5
解析:
Python3中,max(obj)函数表示返回 obj 的最大元素,list.index(obj) 表示返回 obj 在 list 中的索引(list的索引是从0开始的)。
3.对于以下代码,描述正确的是:(D)
list = ['1', '2', '3', '4', '5'] print(list[10:])
A.导致 IndexError
B.输出['1', '2', '3', '4', '5']
C.编译错误
D.输出[]
解析:
如果是索引访问,会导致IndexError,但本体考的是切片,切片操作时如果索引越界不会导致IndexError,只是返回一个空序列,这里返回空列表 []。
4.有如下Python代码段的运行结果为:(C):
b1=[1,2,3] b2=[2,3,4] b3 = [val for val in b1 if val in b2] print (b3)
A.[1,2,3,4]
B.[2]
C.[2,3]
D.程序有误
解析:
遍历列表1然后遍历列表2两个有同样元素返回。
5.在Python3中,关于字符数组的运行结果为:(D)
names = ["Andrea", "Aaslay", "Steven", "Joa"] lists = [] for name in names: if name.count('a') >= 2: lists.append(name) print(lists)
A.[‘Andrea’, 'Aaslay', 'Joa']
B.[]
C.[‘Andrea’, 'Aaslay']
D.['Aaslay']
解析:
此题题意为:从名字的字符数组中找出名字中包含字母 ‘a’ 个数大于等于2个名字列表合集;首先对名字的字符数组进行遍历获取每一个名字,再通过 count() 函数判断名字中是否包含字母 ‘a’ 个数大于等于2个,将符合要求的名字字符存放到lists数组中(需要注意 ‘a’ 是区分大小写的),最后输出的 lists = ['Aaslay']。