美文网首页
用一行代码高效的求一个列表的平方和

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

作者: GoPython | 来源:发表于2019-06-26 09:27 被阅读0次

最近看到一个笔试题,考察的都是 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)))

相关文章

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

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

  • python之列表推导式

    用一行代码构建一个比较复杂有规律的列表列表推导式的两种模式循环模式: [变量(加工后的变量) for 变量 in ...

  • day6-列表作业

    1.已知一个列表,求列表中心元素。讲解:先判断列表的个数是奇数还是偶数 2.已知一个列表,求所有元素和。讲解: 用...

  • python基础之生成器与迭代器

    一. 列表 VS 列表生成式 如果想通过range生成一个列表 通过列表生成式,只需写一行代码。如下: 思考:此时...

  • 各种函数方法

    1、求n!,用递归来实现 注意:n! (n的阶乘)这道题, 0! = 1. 2、写一个函数,返回参数的平方和 3、...

  • day7-容器类型-作业

    1.已知⼀个列表,求列表中心元素。 代码如下 运行如下 2.已知⼀个列表,求所有元素和。 代码如下 运行如下 3....

  • python 列表解析式:i for n in m的代码形式

    python 列表解析式:i for n in m的代码形式理解 列表解析 根据已有列表,高效创建新列表的方式。...

  • LeetCode 144周赛

    1. 题目列表 IP 地址无效化(一行代码) 航班预订统计(问题转换,给定区间数据,求每个点的值,公交车站问题)重...

  • Python笔试基础整理

    用一行代码实现列表a=[1,2,3,4,5]中的偶数位置的元素进行加3后求和 打乱a=[1,2,3,4,5]列表再...

  • 迭代列表等时使用enumerate代替range

    用range迭代列表需要先求列表的长度,再使用range,用enumerate可以不需要求列表的长度,而是将列表包...

网友评论

      本文标题:用一行代码高效的求一个列表的平方和

      本文链接:https://www.haomeiwen.com/subject/ardqcctx.html