t[2][1]='yy'
print(t)
A.元组t不发生变化,仍为('x','y',['X','Y'])。
B.结果为:('x','y',['xx','yy'])
C.结果为:('x','y','xx','yy')
D.运行时错误
标准答案:B
试题难度:较难
试题解析:本题主要考察学生对元组内元素不变性的理解。表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
15.运行下列语句,输出的结果是?()
nums=[i*i for i in range(1,10)if i%3==0]
print(nums)
A.[1,4,9,16,25,36,49,64,81]
B.[9,36,81]
C.[3,6,9]
D.[4,16,36,64]
标准答案:B
试题难度:一般
试题解析:本题主要考察带条件的推导式。
16.运行下列程序,以下选项正确的是?()
def k(num):
if num==1:
return False
for i in range(2,num):
if(num%i)==0:
return False
else:
return True
nums=[i for i in range(1,100)if k(i)]
print(nums)
A.输出结果为1到99(包括99)所有整数组成的列表。
B.输出结果为1到98(包括98)所有偶数数组成的列表。
C.输出结果为1到99(包括99)所有奇数组成的列表。
D.输出结果为1到97(包括97)所有质数(素数)组成的列表。
标准答案:D试题难度:较难
试题解析:本题主要考察使用函数作为推导式的条件。把推导的条件放在函数中,既可以应对复杂的条件,又可以利用推导式的简洁写法。
17.运行下列语句,输出的结果是?()
>>>x=["A","B","C"]
>>>y=["a","b","c"]
>>>{i:j for i,j in zip(x,y)}