1、写出python导入模块的关键字((l)import,(2)from*import*)
2、写出Python运算符&的两种功能?(1)数字位运算;2)集合交集运算。)
3、简单解释Python基于值的自动内存管理方式?(Python采用的是基于值得内存管理
方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变
量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,
对于没有任何变量指向的值,Python自动将其删除。)
4、在Python中导入模块中的对象有哪几种方式?(l)import模块名[as别名];
2)from模块名import对象名[as别名];3)frommathimport*)
5、解释Python脚本程序的"name"变量及其作用?(每个Python脚本在运行时都
有一个"name"属性。如果脚本作为模块被导入,则其"name"属性的值被自动设
置为模块名;如果脚本独立运行,则其"name"属性值被自动设置为"_main_"。利
用"_name_”属性即可控制Python程序的运行方式。)
6、为什么应尽量从列表的尾部进行元素的增加与删除操作?(当列表增加或删除元素时,
列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素
的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。)
7、分析逻辑运算符"or"的短路求值特性?(假设有表达式"表达式1or表达式2",
如果表达式1的值等价于True,那么无论表达式2的值是什么,整个表达式的值总是
等价于True。因此,不需要再计算表达式2的值。)
8、简单解释Python中短字符串驻留机制?(对于短字符串符其赋值给多个不同的对象时,
内存中只有一个副本,多个对象共享改副本。)
9、异常和错误有什么区别?(异常是指因为程序执行过程中出错而在正常控制流以外采取
的行为。严格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常,
例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件,等等。)
10、使用pdb模块进行Python程序调试主要有哪几种用法?(1)在交互模式下使用pdb
模块提供的功能可以直接调试语句块、表达式、函数等多种脚本。2)在程序中嵌入断
点来实现调试功能.在程序中首先导入pdb模块,然后使用pdb.set_trace()在需要的位
置设置断点。如果程序中存在通过该方法调用显式插入的断点,那么在命令提示符环境
下执行该程序或双击执行程序时将自动打开pdb调试环境,即使该程序当前不处于调试
状态。
3)使用命令行调试程序。在命令行提示符下执行"python-mpdb脚本文件名",
则直接进入调试环境;当调试结束或程序正常结束以后,pdb将重启该程序。)
10、阅读下面的代码,并分析假设文件"D:\test.txt"不存在的情况下两段代码可能发
生的问题。
代码1:
>>>try:
fp=open(r'd:\test.txt')
print('Helloworld!',
file=fp)
finally:
fp.closeQ
代码2:
fp=open(r'd:\test.txt',
'a+')print('Hello
world!',file=fp)
答:
假设文件"D:\testtxt"不存在,那么第一段代码会抛出异常,提示fp没有定义;第二段
代码执行正常。原因是第二段代码使用内置函数open。打开指定文件时如果不存在则会创
建该文件,从而不会抛出异常。
11、下面的代码本意是把当前文件夹中所有html文件都改为htm文件,仔细阅读代码,
简要说明可能存在的问题。
importos
file_list=os.listdir(".n)
forfilenamein
filejist:
pos=filename.rindex(n.")
iffilename[pos+l:]=二"html":
newname=
filename[:pos+l]+nhtm"
os.rename(filename,newname)
print(filename+"更名为:"+newname)
林
对于字符串对象,如果要查找的子字符串不存在,贝!Irindex()方法会抛出异常。所以,如果
当前文件夹中有不包含圆点的文件名或者子文件夹名,上面的代码会抛出异常而崩溃。
12、
四、编程题
L编写程序,在D盘根目录下创建一个文本文件test.txt,并向其中写入字符串hello
world.答:
fp=
open(rzD:\test.txt1,
,a+/)print('hello
world1,file=fp)
fp.close()
2、写出下面代码的优化版本,提高运行效率。
x=
list(range(500))
foriteminx:
t=5**5
print(item
+t)
list(range(500))t
=5**5
print(item+t)
3、编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排
列,奇数下标的元素不变。(提示:使用切片。)
importrandom
x=[random.randint(0z100)foriin
range(20)]print(x)
y=x[::2]
y.sort(reverse=True)
x[::2]=y
print(x)
4、写出下面代码的执行结果。
defJoin(Listzsep=None):
return(sepor
7).join(List)print(Join(「a',
'b\'c']))
print(Join(['a'r'b;'c'];:'))
里口
a,b,c
a:b:c
5、写出下面代码的运行结果。
defSum(a,b=3,c=5):
returnsum([a,bz
c])print(Sum(a=8/
c=2))print(Sum(8))
print(Sum(8,2))
13
16
15
6、写出下面代码的运行结果。
defSum(*p):
return
sum(p)
print(Sum(3/5,
8))print(Sum(8))
print(Sum(8z2,
10))
8
20
7、编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。
importmath
def
IsPrime(v):
n=
int(math.sqrt(v)+l)
foriinrange(2,n):
ifv%i==0:
return'No'
else:
return'Yes'
8、编写函数,模拟Python内置函数
答:
sorted()o
defSorted(v):
t=v[::]
r二口
whilet:
tt=min(t)
r.append(
tt)
t.remove(
returnr
9、编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元
素降序排列,并输出结果。
y=x[0:10]
y.sort()
x[0:10]=y
y=
x[10:20]
x[10:20]=y
10、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。如果年份能被400
整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。
x二input('Pleaseinputanintegerof4digitsmeaning
theyear:')x=eval(x)
ifx%400==0or(x%4==0andnot
x%100==0):print('Yes')
pnnt('No')
11.编写程序,实现分段函数计算,如下表所示。
Xy
x<00
0<=x<5X
5<=x<103x-5
10<=x<200.5x-2
20<=x0
x=input('Pleaseinput
x:')x=eval(x)
ifx<0or
x>=20:
print(0)
elif0<=x<5:
elif
5<=x<10:
print(3*x-5)
elif10<=x<20:
print(0.5*x-2)
12、阅读下面的程序,判断其是否可以正常运行,如果可以运行则写出执行结果,如果不能
运行则写出理由。
classTest:
definit(self,value):
self,value=
value
defvalue(self):
returnself,value
t=Test(3)
t.value=5
print(t.valu
e)答:
不能运行。程序中定义的是只读属性,不能修改属性的值。
13、下面代码的功能是,随机生成50个介于[1,20]之间的整数,然后统计每个整数出现频率。
请把缺少的代码补全。
x=[random.(lz20)foriinrange()]
r=dict()
foriinx:
r[i]=r.get(i,
_________________)+
1fork,vinr.items():
print(kzv)
分别填写randint、50、0
14、假设有Python程序文件demo.py,代码如
下:defmain():
ifname_=='main
print⑴
print⑵
main()
将该程序文件直接运行时输出结果为,作为模块导入时得到结果-o
(1、2)
15、下面程序的执行结果是o(1)
s=0
foriin
range(l,101):
s+=i
16、下面程序的执行结果是o(1275)
range(l,101):
ifi==50:
print(
s)
break
17、下面的程序是否能够正常执行,若不能,请解释原因;若能,请分析其执行结果。
fromrandomimportrandint
result=
set()while
True:
result.add(randint(l/l
0))iflen(result)==20:
print(result)
答:无法正确执行,因为该程序的功能是从[L10]区间中选择20个不同的随机整数,而该区
间并没有这么多整数,所以程序死循环。
18、下面的代码是否能够正确运行,若不能请解释原因;若能,请分析其执行结果。
>>>x=list(range(20))
>>>foriin
range(len(x)):del
x[i]
答:无法正确执行,因为删除列表元素时会影响其他元素在列表中的索引,上面的代码会抛
出下标越界的异常。
19、阅读下面的代码,解释其功能。
>>>forindex,valuein
enumerate(x):ifvalue==3:
x[index]=5
答:将列表x中值为3的元素修改为5。
20、阅读下面的代码,解释其功能。
>>>x=[range(3*i/3*i+5)foriinrange(2)]
>>>x=list(map(listzx))
>>>x=list(map(listzzip(*x)))
答:首先生成一个包含列表的列表,然后模拟矩阵转置。
21、阅读下面的代码,解释其功能。
>>>importstring
>>>x=string.asciijetters+string.digits
>>>importrandom
,,
>>>print(.join(random.sample(x/10)))
答:输出由英文字母大小写或数字组成的长度为10且不重复的随机字符串。
22、阅读下面的代码,分析其执行结果。
defdemo(*p):
returnsum(p)
print(demo(l,2,3/4/5))
print(demo(l,2z3))
答:输出结果为
6
23、阅读下面的代码,分析其执行结果。
defdemo(a,b,c=3,d=100):
returnsum((azb,czd))
print(demo(lz2,3,4))
print(demo(l,2,d=3))
10
9
24、下面的代码输出结果为o(3)
defdemo():
x=5
x=3
demo()
25、下面函数的功能为o(将序列循环左移k位,得到新序列并返回)
defdemo(lst,k):
ifk returnlst[k:]+lst[:k] 26、编写函数,求任意整数的二进制形式中最后连续0的个数。 defdemo(n): b_n=bin(n) index=b_n.rfind('l') +1return len(b_n[index:]) 27、有n个乒乓球运动员打淘汰赛,编写函数计算至少需要多少场比赛才能决出冠军,不允 许直接使用n-1。 ifn==1: 0ifn==2: return1 mzc=divmod(nz2) returnm+ demo(c+m) 28、使用循环和列表推导式两种方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一 只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法? (1)循环 >>>forxin range(21):fory inrange(34): z=100-x-y ifz%3==0and5*x+3*y+z//3 ==100:print(x,y,z) 02575 41878 81181 12484 (2)列表推导式 >>>[(x,y,100-x-y)forxinrange(21)foryinrange(34)if(100-x-y)%3==0and 5*x+3*y+(100-x-y)//3==100] [(0,25,75),(4,18,78),(8,llf81),(12,4f84)] 29、编写函数,给定任意字符串,找出其中只出现一次的字符,如果有多个这样的字符,就 全部找出。 defsearchOne(s): #创建空字典 d=dict() #遍历字符串,并分别记录每个字符的出现次数 forchins: #这里重点演示字典的get()方法 #如果这个字符出现过,力口1 #如果这个字符第一次出现,0+1 d[ch]=d.get(ch,0)+1 #列表推导式,查找所有只出现一次的字符 chs=[chforch,nind.items()ifn==l] #返回最终结果,所有只出现一次的字符 returnchs print(searchOne('abcddd ca')) 30、阅读以下冒泡法排序代码,尝试写出优化代码,提高代码运行效率。 bubbleSort(lst ):length= len(lst) foriinrange(0,length): forjinrange(0,length-i-1): #比较相邻两个元素大小,并根据需要进行交换if istg]>istg+i]: istg],istg+i]=istg+i],istg] 1st=[randint(l/100)foriin range(20)]print('Beforesort:\n'z 1st)bubbleSort(lst) print('Aftersort:\n\1st) 参考答案: flag=True lst[j]>lstfj+1]: ist(j]risto+i]=istg+i]rist[j] flag=False ifflag: print('Aftersort:\n;1st) 31、编写程序,用户输入带有千分位逗号的数字字符串,然后输出不带千分位逗号的数字字 符串。如果输入字符串。则退出程序。 defconvert(strNumber): return".join(strNumber.split('/)) whileTrue: x=input。输入带有千分位逗号的数字: ')ifx=='O': print('bye') print(convert(x)) 32、编写程序,用户输入不带千分位逗号的数字字符串,然后输出带干分位逗号的数字字符 串。 #考虑小数的情况 temp=strNumber.split(7/1) #整数部分 first=temp[0] ifnotfirst.isdigitQ: return'不是有效数字’ #小数部分 try: second=temp[l] ifnotsecond.isdigit(): return'不是有效数字 except: second= #增加千分位逗号 defnested(s): result=[] length= len⑸ index=length% 3ifindex!=0: result.append(s[:index]) foriinrange(indexzlength, 3): result.append(s[i:i+ 3])return'/.joinCresult) first=nested(first) #小数部分和整数部分的千分位不一样 ifsecond: "join(reversed(second)) second=nested(second) second="join(reversed(second)) #删除两侧可能的0和千分位逗号 return'.'.join([first, second]).stripC0') #删除整数左侧可能的0和逗号 returnfirst.lstrip('O/) #测试 X=input('输入不带千分位逗号的数字: 二、填空题 1、Python安装扩展库常用的是工具。(pip) 2、Python标准库math中用来计算平方根的函数是。(sqrt) 3、Python程序文件扩展名主要有和两种,其中后者常用于GUI程序。 (py、pyw) 4、Python源代码程序编译后的文件扩展名为。(pyc) 5、使用pip工具升级科学计算扩展库numpy的完整命令是.(pipinstall —upgradenumpy) 6、使用pip工具查看当前已安装的Python扩展库的完整命令是。(piplist) 7、在IDLE交互模式中浏览上一条语句的快捷键是。(Alt+P) 8、在Python中表示空类型。(None) 9、列表、元组、字符串是Python的(有序?无序)序列。(有序) 10、查看变量类型的Python内置函数是(type()) 11、查看变量内存地址的Python内置函数是。(id()) 12、以3为实部4为虚部,Python复数的表达形式为或。(3+可、 3+4J) 13、Python运算符中用来计算整商的是.(//) 14、Python运算符中用来计算集合并集的是。(|) 15、使用运算符测试集合包含集合A是否为集合B的真子集的表达式可以写作 .(A 16、命令既可以删除列表中的一个元素,也可以删除整个列表。(del) 17、表达式int('123',16)的值为。(291) 18、表达式int('123',8)的值为。(83) 19、表达式int(1123')的值为。(123) 20、表达式int('101',2)的值为。(5) 21、表达式abs(-3)的值为。(3) 22、Python3.x语句print(l,2,3,sep=':')的输出结果为。(1:23) 23、表达式int(4**0.5)的值为。(2) 24、Python内置函数可以返回列表、元组、字典、集合、字符串以及range 对象中元素个数。(len()) 25、Python内置函数用来返回序列中的最大元素。(max()) 26、Python内置函数用来返回序列中的最小元素。(min()) 27、Python内置函数用来返回数值型序列中所有元素之和。(sum()) 28、为了提高Python代码运行速度和进行适当的保密,可以将Python程序文件编译 为扩展名的文件。(pyc) 29、已知x=3,那么执行语句x+=6之后,x的值为.(9) 、表达式的值为__________ 303|50(7) 31、表达式3&6的值为.(2) 32、表达式3**2的值为—____.(9) 33、表达式3*2的值为.(6) 34、表达式3<<2的值为。(12) 35、表达式65>>1的值为。(32) 36、表达式chr(ord('a')人32)的值为。('A') 37、表达式chr(ord('a')-32)的值为。('A') 38、表达式abs(3+4j)的值为.(5.0) 39、表达式callable(int)的值为.(True) 40、假设有Python程序文件abc.py,其中只有一条语句print(name_),那么直 接运行该程序时得到的结果为o(main) 41、表达式16**0.5的值为.(4.0) 42、表达式type({3})的值为。(set) 43、表达式isinstance('Helloworld',str)的值为。(True) 44、表达式[1,2,3]*3的执行结果为.([1,2,3,1,2,3,1,2,3]) 45、list(map(str,[1,2,3]))的执行结果为.([T,2, 3]) 46、语句x=3==3,5执行结束后,变量x的值为。((True,5)) 47、已知x=3,并且id(x)的返回值为496103280,那么执行语句x+=6之后,表 达式id(x)==496103280的值为。(False) 48、已知x=3,那么执行语句x*=6之后,x的值为。(18) 49、表达式[3]in[1,2,3,4]的值为。(False) 50、列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为0 (None) 51、假设列表对象aList的值为[3,4,5,6,7,9,11,13,15,1刀,那么切片aList[3:刀得到 的 值是.([6,7,9,11]) 52、使用列表推导式生成包含10个数字5的列表,语句可以写为. ([5foriinrange(lO)]) 53、假设有列表a=['name','age','sex']和b=['Dong',38,'Male'],请使用一个语句 将这两个列表的内容转换为字典,并且以列表a中的元素为"键",以列表b中的元素为 "直‘, 这个语句可以写为(c=dict(zip(a,b))) 54、任意长度的Python列表、元组和字符串中最后一个元素的下标为.(-1) 55、Python语句list(range(l,10,3))执行结果为.([1,4,7]) 56、表达式list(range(5))的值为.([0,1,2,3,4]) 57、已知a=[1,2,3]和b=[1,2,4],那么id(a[l])==id(b[l])的执行结果为。 (True) 58、切片操作list(range⑹)[::2]执行结果为。([0,2,4]) 59、使用切片操作在列表对象x的开始处增加一个元素3的代码为.(x[0:0] =[3]) 60、语句sorted([l,2,3],reverse=True)==reversed([l,2,3])执行结果为_。 (False) 、表达式的值为 61sorted([lll,2,33],key=lambdax:len(str(x)))o([2, 33,111]) 62、表达式sorted([lll,2,33],key=lambdax:-len(str(x)))的值为. ([111,33,2]) 63、语句x=(3,)执行后x的值为o((3,)) 64、语句x=⑶执行后x的值为.(3) 65、已知x=3和y=5,执彳亍语句x,y=y,x后x的。(5) 66、可以使用内置函数查看包含当前作用域内所有全局变量和值的 字典。(globals()) 67、可以使用内置函数查看包含当前作用域内所有局部变量和 值的字典。(locals()() 68、字典中多个元素之间使用分隔开,每个元素的"键"与"值"之间 使用分隔开。(逗号、冒号) 69、字典对象的方法可以获取指定"键"对应的"值",并且可以在指定 "键”不存在的时候返回指定值,如果不指定则返回None。(get()) 70、字典对象的方法返回字典中的"键-值对"列表。(itemsQ) 71、字典对象的方法返回字典的"键"列表。(keys()) 72、字典对象的方法返回字典的"值"列表。(values()) 73、已知x={1:2},那么执行语句x[2]=3之后,x的值为.({1:2, 2:3}) 74、表达式(1,2,3,4}-{3,4,5,6}的值为({1,2}) 75、表达式set([l,1,2,3D的值为0({1,2,3)) 76、使用列表推导式得到100以内所有能被13整除的数的代码可以写作 。([iforiinrange(lOO)ifi%13==0]) 77、已知x=[3,5,7],那么表达式x[10:]的值为。([]) 78、已知x=[3,5,7],那么执行语句x[len(x):]=[1,2]之后,x的值为. ([3,5,7,1,2]) 79、已知x=[3,7,5],那么执行语句x.sort(reverse=True)之后,x的值为 ________________.([7,5,3]) 80、已知x=[3,7,5],那么执彳五吾句x=x.sort(reverse=True)^Js,x的值为. 81、已知x=[1,11,111],那么执行语句x.sort(key=lambdax:len(str(x)), reverse=True) 之后,x的值为。([111,11,1])82、表达 式list(zip([l,2],[3,4]))的值为。([(1,3),(2,4)]) 83、已知x=[1,2,3,2,3],执行语句x.pop()之后,x的值为.([1,2,3, 2]) 84、表达式list(m叩(list,zip(*[[l,2,3],[4,5,6]])))的值为.([[1,4],[2, 5],[3,6]]) 85、表达式[xforxin[1,2,3,4,5]ifx<3]的值为。([1,2]) 86、表达式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue== max([3,5,7,3,7])] 的值为.([2,4]) 87、已知x=[3,5,3,刀,那么表达式[x.index(i)foriinxifi==3]的值 为 ____________.([0,0]) 88、已知列表x=[1,2],那么表达式list(enumerate(x))的值为.([(0, 1),(1,2)]) 89、已知vec=[[1,2],[3,4]],则表达式[colforrowinvecforcolinrow]的 值为 ______________________。([1,2,3,4]) 90、已知vec=[[1,2],[3,4]],则表达式[[row[i]forrowinvec]foriin range(len(vec[0]))] 的值为.([[1,3],[2,4]]) 91、已知x=list(range(10)),则表达式x[-4:]的值为。([6,7,8,9]) 92、已知x=[3,5,7],那么执行语句x[l:]=[2]之后,x的值为。([3, 93、已知x=[3,5,7]那么执行语句x[:3]=[2]之后/的值为.([2]) 94、已知x为非空列表,那么执行语句y=x□之后,id(x[0])==id(y⑼)的值为 ________(True) 95、已知x=[1,2,3,2,3],执行语句x.remove(2)之后,x的值为.([1, 3,2,3]) 96、表达式len([iforiinrange(lO)])的值为0(10) 97、表达式len(range(l,10))的值为。(9) 98、表达式range(10)[-l]的值为.(9) 99、表达式range(10,20)[4]的值为。(14) 100、表达式round(3.4)的值为。(3) 101,表达式round(3.7)的值为.(4) 102、已知x=(3),那么表达式x*3的值为。(9) 103、已知x=(3,),那么表达式x*3的值为。((3,3,3)) 104、假设歹」表对象x=[1,1,1],那么表达式id(x[0])==id(x[2])的值为。 105、已知列表x=list(range(10)),那么执行语句delx[::2]之后,x的值为. ([1,3,5,7,9]) 106、已知列表x=[1,2,3,4],那么执行语句delx[l]之后x的值为.([1, 3,4]) 107、表达式[1]*2的值为.([1,1]) 108、表达式[1,2]*2的值为.([1,2,1,2]) 109、已知列表x=[1,2,3],那么执行语句x.insert(l,4)只有,x的值为。 ([1,4,2,3]) 110.已知列表x=[1,2,3],那么执行语句x.insert(0,4)只有,x的值为. ([4,1,2,3]) 111.已知列表x=[1,2,3],那么执行语句x.pop(0)之后,x的值为。([2,3]) 112、已知x=[[1]]*3,那么执行语句x[0][0]=5之后,变量x的值为 .([[5],[5],[5]]) 113、表达式list(m叩(lambdax:x+5,[1,2,3,4,5]))的值为 ([6,7,8,9,10]) 114,表达式{1,2,3,4,5}人{4,5,6,7}的值为。({1,2,3, 6,7}) 115、已知x=[1,2,3],那么执行语句x[len(x)-l:]=[4,5,6]之后,变量x的值为 _______________________________.([1,2,4,5,6]) 116、表达式len(range(l,10))的值为.(9) 117、已知x是一个列表对象,那么执行语句y=x[:]之后表达式id(x)==id(y)的值为 __________<,(False) 118、表达式sorted([13,1,237,89,100],key=lambdax:len(str(x))) 的值为 _________________________________([1,13,89,237,100]) 119,已知x={1:2,2:3},那么表达式x.get(3,4)的值为_。(4) 120、已知x={1:2,2:3},那么表达式x.get(2,4)的值为。(3) 121、表达式{1,2,3}|{3,4,5}的值为。({1,2,3,4,5)) 122、表达式(1,2,3}|{2,3,4}的值为。({1,2,3,4)) 123、表达式{1,2,3}&{3,4,5}的值为.(⑶) 124、表达式{1,2,3)&亿3,4}的值为。({2,3}) 125、表达式{1,2,3}-{3,4,5}的值为({1,2}) 126、表达式{1,2,3)<{3,4,5}的值为。(False) 127、表达式{1,2,3}<{1,2,4}的值为.(False) 128、表达式[l,2,3].count(4)的值为。(0) 129、Python标准库random中的方法作用是从序列中随机选择1个元素。 (choice()) 130、Python标准库random中的sample(seq,k)方法作用是从序列中选择 (重复?不重复?)的k个元素。(不重复) 131、random模块中方法的作用是将列表中的元素随机乱序。(shuffle()) 132、执行代码x,y,z=sorted([l,3,2])之后,变量y的值为_。(2) 133、表达式(1,2,3)+(4,5)的值为。((1,2,3,4,5)) 134、表达式dict(zip([l,2],[3,4]))的值为。({1: 3,2:4}) 135、语句x,y,z=[1,2,3]执行后,变量y的值为。(2) 136、已知x=[[1,3,3],[2,3,1]],那么表达式sorted(x,key=lambda item:item[0]+item[2]) 的值为o([[2,3,1],[1,3,3]]) 137、已知x=[[1,3,3],[2,3,1]],那么表达式sorted(x,key=lambda item:(item[l],item[2])) 的值为([[2,3,1],[1,3,3]]) 138、已知x=[[1,3,3],[2,3,1]],那么表达式sorted(x,key=lambdaitem:(item[l],- item[2])) 的值为([[1,3,3],[2,3,1]]) 139、已知x={1,2,3),那么执行语句x.add⑶之后,x的值为。({1,2,3)) 140、已知x={1:1},那么执行语句x[2]=2之后,len(x)的值为.(2) 141、已知x={1:1,2:2},那么执行语句x[2]=4之后,len(x)的值为.(2) 142、假设已从标准库functools导入reduce。函数那么表达式reduce(lambdax,y: x-y,[1,2,3])的值为。(-4) 143、假设已从标准库functools导入reduce。函数那么表达式reduce(lambdax,y: x+y,[1,2,3])的值为—。(6) 144、假设已从标准库functools导入reduce。函数那么表达式reduce(lambda x,y:max(x,y), [1,2,3,4,4,5])的值为。(5) 145、已知有函数定义defdemo(*p):returnsum(p),那么表达式demo(l,2,3)的 、表达式demo(l,2,3,4)的值为.(6、10) 146、已知列表x=[1,2],那么连续执行命令y=x和y.叩pend⑶之后,x的值 .([1,2,3]) 147、已知列表x=[1,2],那么连续执行命令v=x[:]和yappend(3)之后,x的值 .([1,2]) 148、已知列表x=[1,2],执行语句v=x[:]后,表达式id(x)==id(y)的值为. 149、已知列表x=[1,2],执行语句y=x后,表达式id(x)==id(y)的值为。 150、已知列表x=[1,2],执行语句y=x后,表达式xisy的值为。(True) 151、已知列表x=[1,2],执行语句v=x[:]后,表达式xisnoty的值为。 152、表达式sorted(random.sample(range(5),5))的值为 ([0,1,2,3,4]) 153、表达式[iforiinrange(lO)ifi>8]的值为.([9]) 154、已知有列表x=[[1,2,3],[4,5,6]],那么表达式[[row[i]forrowinx]fori in range(len(x[0]))]的值为。([[1,4],[2,5],[3,6]]) 155、执行语句x,y,z=map(str,range(3))之后,变量y的值为,('1') 156、已知列表x=[1,2],那么执行语句x.extend([3])之后,x的值为。 ([1,2,3]) 157、已知列表x=[1,2],那么执行语句X.叩pend([3])之后,x的值为。 ([1,2,[3]]) 158、表达式print(OblOlOl)的值为。(21) 159、已知x=[1,2,3,4,5],那么执行语句delx[:3]之后,x的值为.([4,5]) 160、已知x=range(l,4)和y=range(4,7),那么表达式sum([i*jfori,jinzip(x,y)]) 的值为。(32) 161、表达式[5foriinrange(3)]的值为____________。([5,5,5]) 162、表达式{1,2,3}=={1,3,2}的值为.(True) 163、表达式[1,2,3]==[1,3,2]的值为_________.(False) 164、已知x=[1,2,1]那么表达式id(x[0])==id(x[2])的值为o(True) 165、表达式3notin[1,2,3]的值为.(False) 166、已知x=[1,2],那么执行语句x[0:0]=[3,3]之后,x的值为。([3,3, 1,2]) 167、已知x=[1,2],那么执行语句x[0:l]=[3,3]之后,x的值为。([3,3, 168、已知x=[1,2,3,4,5],那么执行语句delx[l:3]之后,x的值为.([1, 4,5]) 169、已知x=[[1,2,3,],[4,5,6]]那么表达式sum([i*jforijinzip(*x)])的值为_。 (32) 170,已知列表x=[1,2,3]和y=[4,5,6],那么表达式[(i,j)fori,jinzip(x,y)if i==3] 的值为([(3,6)]) 171、已知列表x=[1.0,2.0,3.0],那么表达式sum(x)/len(x)的值为。(2.0) 172、已知x={1:2,2:3,3:4},那么表达式sum(x)的值为.(6) 173、已知x={1:2,2:3,3:4},那么表达式sum(x.values())的值为。(9) 174、已知x=[3,2,3,3,4],那么表达式[indexforindex,valuein enumerate(x)if value==3]的值为。([0,2,3]) 175、表达式1234%1000//100的值为.(2) 176、表达式3//5的值为。(0) 177、表达式[1,2]+[3]的值为。([1,2,3]) 178、表达式(1,)+(2,)的值为.((1,2)) 179、表达式⑴+⑵的值为o(3) 180、已知x,y=map(int,['1','2']),那么表达式x+y的值为。(3) 181、已知列表x=list(range(5))那么执行语句x.remove(3)之后,表达式x.index(4) 的值为。(3) 182、已知列表x=[1,3,2],那么执行语句x.reverse()之后,x的值为。 ([2,3,1]) 183、已知列表x=[1,3,2],那么执行语句x=x.reverse()之后,x的值为.