用一行代码高效的求一个列表的平方和

最近看到一个笔试题,考察的都是 Python 中的高阶函数
题目如下:用一行代码高效的求一个列表的平方和(不能用 sum 函数)

分析

1.先将列表中每个值作平方:

立即想到 map 函数,假设列表是 range(10),那么这个列表中平方是这样

map(lambda x: x**2 , range(10))

因为题目要求一行代码,所以匿名函数 lamdba 是必须的!

2. 求和:

Python 中有个高阶函数 reduce 就是用来做累积的!
比如,求两个数的和,如下

reduce(lambda x,y: x+y)

最后将两者合起来,结果如下:

result = reduce(lambda x, y: x+y, (map(lambda x: x ** 2, range(10))))

还可以用 eval 函数

result = eval("+".join(str(i ** 2) for i in range(10)))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在这篇文章里,你将学会什么是函数范式以及如何使用Python进行函数式编程。你也将了解列表推导和其它形式的推导。 ...
    小天真_5eeb阅读 506评论 0 0
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,383评论 0 10
  • 第5章 函数和函数式编程 5.1 引言函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数...
    VIVAFT阅读 1,123评论 0 5
  • 飞鸟 对于飞翔的鸟儿来说世界时而平稳,时而倾斜时而乾坤颠倒这取决于风的走向,和鸟的翅膀 所以飞鸟通常结伴而行天空太...
    凡人语阅读 302评论 3 5
  • 小确幸 小确幸一词来源于村上春树的随笔集《兰格汉斯岛的午后》,指生活中微小但确切的幸福。他曾说,没有小确幸的人生,...
    Mi丝喵阅读 377评论 1 1

友情链接更多精彩内容