Python内置数据结构与操作符的练习题集锦

yipeiwu_com6年前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, 2, 3, 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)), range(1,6))
# print [1, 2, 6, 24, 120], 所以在用reduce合起来
print reduce(lambda a, b: a+b, map(lambda x: \
    reduce(lambda y, z: y*z, range(1, x+1)),range(1,6)))

附加题: 使用filter函数 实现素数

print filter(lambda x: not [x%i for i in range(2,x) if x%i==0], range(2, 101))

相关文章

python 设置输出图像的像素大小方法

如下所示: plt.rcParams['savefig.dpi'] = 300 #图片像素 plt.rcParams['figure.dpi'] = 300 #分辨率 为了记住不...

详解python编译器和解释器的区别

高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器。 编译型语言通常的执行过程是:源代码——预处理器——编译器——目标代码——...

在NumPy中创建空数组/矩阵的方法

如何在NumPy中创建空数组/矩阵? 在添加行的情况下,你最好的选择是创建一个与数据集最终一样大的数组,然后向它添加数据 row-by-row: >>> impo...

python matplotlib中文显示参数设置解析

python matplotlib中文显示参数设置解析

最近在学习python著名的绘图包matplotlib时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了。 PS:本文仅针对Windows,其他平台仅供参考。 原因 大致...

python中dict()的高级用法实现

python中dict()的高级用法实现

collections中defaultdict的用法 一、字典的键映射多个值 将下面的列表转换成字典 一个字典就是一个键对应一个单值得映射,而上面的列表中有相同的键,如果你想要一个键映...