chpter11~函数和函数式编程

本文提供了一系列关于Python函数式编程的练习题,包括实现max和min函数、使用map和zip处理列表、利用filter筛选闰年及使用reduce计算平均值等。通过这些练习可以加深对Python内置函数的理解。

11-3 函数。在这个练习中,我们将实现 max()和 min()内建函数。

(a) 写一个带两个元素的 max2() 和 min2()函数,分别返回一个较大和较小元素。举例来说,max2(4,8)和 min2(4,8)会各自每次返回 8 和 4。

(b) 创建使用了在 a 部分中的解来重构 max()和 min()的新函数 my_max()和 my_min().这些函数分别返回非空队列中一个最大和最小值。它们也能带一个参数集合作为输入。用数字和字符串来测试你的解。

204010_DuGc_2772312.png

11-7. 用map()进行函数式编程。给定一对同一大小的列表,如[1,2,3]和[‘abc’,’def,‘ghi’, …,将两个标归并为一个由每个列表元素组成的元组的单一的表,以使我们的结果看起来像这样:{[(1,‘abc’), (2,‘def’), (3,‘ghi’), …]。(虽然这问题在本质上和第6章的一个问题相似,那时两个解没有直接的联系)然后创建用zip内建函数创建另一个解。

204335_PmtO_2772312.png

11–8. 用 filer()进行函数式编程.使用练习 5-4 你给出的代码来决定闰年。更新你的代码一 边他成为一个函数如果你还没有那么做的话。然后写一段代码来给出一个年份的列表并返回一个只 有闰年的列表。然后将它转化为用列表解析。

204658_EaBZ_2772312.png

11–9. 用 reduce()进行函数式编程。复习 11.7.2 部分,阐述如何用 reduce()数字集合的累加的代码。修改它,创建一个叫 average()的函数来计算每个数字集合的简单的平均值。

205006_dYRl_2772312.png

11–12. 传递函数。给在这章中描述的 testit()函数写一个姊妹函数。timeit()会带一个函数对象(和参数一起)以及计算出用了多少时间来执行这个函数,而不是测试执行时的错误。 返回下面的状态:函数返回值,消耗的时间。你可以用 time.clock()或者 time.time(),无论哪一个给你提供了较高的精度。 (一般的共识是在 POSIX 上用 time.time(), 在 win32 系统上用 time.clock()) 注意:timeit()函数与 timeit 模块不相关(在 python2.3 中引入)

205620_xHXm_2772312.png

转载于:https://my.oschina.net/xyjiejie/blog/715270

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值