Python内置数据结构与操作符的练习题集锦
第一题: give you two var a and b,print the value of a+b,just do it! 根据提议,给出两个变量 a 和 b 并打印出 a+b的值. a,b = 1,2 print a + b 当然也可以这么做 a = 1 b = 2 print a + b 第二题: 给你一个list,如 L = [2,8,3,5],对L进行升序排序并输出。 L = sorted(L) print L #或 # sort() 内置函数会对列表自身排序而 sorted() 会生成一个新的排序列表 L.sort() print L 第三题: 给你一个字符串a, 如a = ‘12345',对a进行逆序输出。 # 通过步进来逆序输出字符串。 a = a[::-1] print a 第四题: 给你一个字典a = {1:1,2:2,3:3},输出字典a的key,以',' 连接,如 ‘1,2,3'。 # dict.keys() 会以list返回字典的key.而join会把list按,字符串',' 连接起来。 print ','.join(a.keys()) 第五题: 给你一个字符串a,输出字符串奇数位置的字符串,如 a = ‘12345',则输出 ‘135' # 通过列表解析(也称列表推导式)来判断下表选取奇偶数。 print ''.join([a[x] for x in range(len(a)) if x % 2 == 0]) 第六题: 输出所有100以内的素数,素数之间以空格区分。 # 在加一行print 才能运行通过 L = [x for x in range(2,101) if not [y for y in range(2,x) if x%y == 0]] for i in L: print L,print 第七题: 已知矩形长a,宽b,输出其面积和周长,以一个空格隔开 print a * b,2 * (a+b) 第八题: 给你一个list,如 L = [0,1,4] 输出L的中位数 # 中位数是指 对已排序的数集取其中间数,数集为偶数 取中间两数的平均 print sorted(L)[len(L)/2] if len(L) % 2 != 0 else (sorted(L)[Len(L)/2] + sorted(L)[len(L)/2 -1 ])/2.0 第九题: 给你两个正整数a和b,输出它们的最大公约数。 print max([x for x in range(1,a+1) if x in [y for y in range(1,b+1) if b%y == 0]]) 第十题: 给你两个正整数a和b, 输出它们的最小公倍数. print min([x for x in range(a,a*b+1) if x%a==0 and x%b==0]) 附加题: 利用map/reduce 函数实现数的阶乘 如 5!+4!+3!+2!+1!. print map(lambda x: reduce(lambda y,z: y*z,range(1,x+1)),6)) # print [1,6,24,120],所以在用reduce合起来 print reduce(lambda a,b: a+b,map(lambda x: reduce(lambda y,6))) 附加题: 使用filter函数 实现素数 print filter(lambda x: not [x%i for i in range(2,x) if x%i==0],range(2,101)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |